import {
  IconAward04,
  IconBeaker02,
  IconBriefcase02,
  IconCodeBrowser,
  IconCpuChip01,
  IconData,
  IconDatabase02,
  IconDotsGrid,
  IconGitBranch01,
  IconGlasses02,
  IconStand,
  IconUser01
} from '@tidbcloud/uikit/icons'

import IconCNet from 'media/logo/c--4-logo.svg?react'
import IconChroma from 'media/logo/chroma-logo.svg?react'
import IconElasticsearch from 'media/logo/elasticsearch-logo.svg?react'
import IconGo from 'media/logo/go-logo.svg?react'
import IconSpanner from 'media/logo/google-cloud-spanner-logo.svg?react'
import IconJava from 'media/logo/java-logo.svg?react'
import IconJavascript from 'media/logo/javascript-logo.svg?react'
import IconMicrosoftSQLServer from 'media/logo/microsoft-sql-server-logo.svg?react'
import IconMilvus from 'media/logo/milvus-logo.svg?react'
import IconMongodb from 'media/logo/mongodb-logo.svg?react'
import IconMySQL from 'media/logo/mysql-logo.svg?react'
import IconOpenAi from 'media/logo/openai-logo.svg?react'
import IconOracle from 'media/logo/oracle-logo.svg?react'
import IconPhp from 'media/logo/php-logo.svg?react'
import IconPinecone from 'media/logo/pinecone-logo.svg?react'
import IconPostgresql from 'media/logo/postgresql-logo.svg?react'
import IconPython from 'media/logo/python-logo.svg?react'
import IconRuby from 'media/logo/ruby-logo.svg?react'

export { IconChroma }

export const ONBOARDING_GUIDE_ACTION = {
  SAMPLE_DATA: 'import-sample-data',
  OWN_DATA: 'import-own-data'
}

export const QUESTIONS = {
  whyYouWantToUseTiDB: {
    options: [
      { icon: <IconBriefcase02 />, description: 'My company is considering TiDB', value: 'considering_tidb' },
      { icon: <IconAward04 />, description: 'Training or Certification', value: 'training_certification' },
      { icon: <IconBeaker02 />, description: 'Personal learning or project', value: 'personal_learning' },
      { icon: <IconDotsGrid />, description: 'Other', value: 'other' }
    ]
  },
  role: {
    options: [
      { icon: <IconData />, description: 'Database Administrator (DBA)', value: 'dba' },
      { icon: <IconCodeBrowser />, description: 'Software Developer', value: 'software_developer' },
      { icon: <IconCpuChip01 />, description: 'Systems Architect', value: 'systems_architect' },
      { icon: <IconGlasses02 />, description: 'Data Engineer / Analyst / Scientist', value: 'data_professional' },
      { icon: <IconGitBranch01 />, description: 'Technical Lead / Manager', value: 'technical_lead_manager' },
      { icon: <IconUser01 />, description: 'Startup Founder / CTO / CIO', value: 'startup_executive' },
      { icon: <IconStand />, description: 'Researcher', value: 'researcher' },
      { icon: <IconOpenAi />, description: 'Machine Learning Engineer', value: 'machine_learning_engineer' },
      { icon: <IconDotsGrid />, description: 'Other', value: 'other_role' }
    ]
  },
  usingDatabase: {
    options: [
      { icon: <IconChroma />, description: 'Chroma', value: 'chroma' },
      { icon: <IconElasticsearch />, description: 'Elasticsearch', value: 'elasticsearch' },
      { icon: <IconDatabase02 size={24} />, description: 'Faiss', value: 'faiss' },
      { icon: <IconMicrosoftSQLServer />, description: 'Microsoft SQL Server', value: 'microsoft_sql_server' },
      { icon: <IconMilvus />, description: 'Milvus', value: 'milvus_zilliz_cloud' },
      { icon: <IconMySQL />, description: 'MySQL', value: 'mysql' },
      { icon: <IconMongodb />, description: 'NoSQL', value: 'nosql' },
      { icon: <IconOracle />, description: 'Oracle', value: 'oracle' },
      { icon: <IconPinecone />, description: 'Pinecone', value: 'pinecone' },
      { icon: <IconPostgresql />, description: 'PostgreSQL', value: 'postgresql' },
      { icon: <IconSpanner />, description: 'Spanner', value: 'spanner' },
      { icon: <IconDotsGrid size={24} />, description: 'Other', value: 'other' }
    ]
  },
  language: {
    options: [
      { icon: <IconMySQL />, description: 'SQL', value: 'sql' },
      { icon: <IconJavascript />, description: 'JavaScript / TypeScript', value: 'javascript_typescript' },
      { icon: <IconPython />, description: 'Python', value: 'python' },
      { icon: <IconJava />, description: 'Java / Kotlin', value: 'java_kotlin_scala' },
      { icon: <IconGo />, description: 'Go', value: 'go' },
      { icon: <IconPhp />, description: 'PHP', value: 'php' },
      { icon: <IconRuby />, description: 'Ruby', value: 'ruby' },
      { icon: <IconCNet />, description: 'C# / .Net', value: 'csharp_vb_net' },
      { icon: <IconDotsGrid size={24} />, description: 'Other', value: 'other_language' }
    ]
  }
}
