export interface NavItem {
  title: string
  url?: string
  href?: string
  external?: boolean
  status?: 'new' | 'beta'
  type?: 'page'
  newWindow?: boolean
  tag?: string
  items?: NavItem[]
}

export interface DocsConfig {
  title: string
  description: string
  url: string
  docsRepositoryBase: string
  gitTimestamp: string
  logoUrl?: string
  navigation: NavItem[]
}

export const docsConfig: DocsConfig = {
  title: 'Bamboo CSS',
  description:
    'Build-time, type-safe, zero-runtime CSS-in-JS. Prune unused tokens, tree-shake the runtime, and fold static styles into plain class strings.',
  url: 'https://bamboocss.com',
  logoUrl: '/',
  docsRepositoryBase: 'https://github.com/gajus/bamboocss',
  gitTimestamp: 'Last updated on',
  navigation: [
    {
      title: 'Docs',
      type: 'page',
      href: '/docs',
    },
  ],
}

export const docsNavigation: NavItem = {
  title: 'Docs',
  url: 'docs',
  items: [
    {
      title: 'Overview',
      url: 'overview',
      items: [
        { title: 'Getting Started', url: 'getting-started' },
        { title: 'Cheat Sheet', url: 'cheat-sheet' },
        { title: 'Why Bamboo?', url: 'why-bamboo' },
        { title: 'FAQs', url: 'faq' },
        { title: 'Browser Support', url: 'browser-support' },
        {
          title: 'Changelog',
          href: 'https://github.com/gajus/bamboocss/releases',
          external: true,
        },
      ],
    },
    {
      title: 'AI for Agents',
      url: 'ai',
      tag: 'new',
      items: [
        { title: 'LLMs.txt', url: 'llms-txt' },
        { title: 'MCP Server', url: 'mcp-server' },
      ],
    },
    {
      title: 'Installation',
      url: 'installation',
      items: [
        { title: 'CLI', url: 'cli' },
        { title: 'PostCSS', url: 'postcss' },
        { title: 'Astro', url: 'astro' },
        { title: 'Angular', url: 'angular' },
        { title: 'Next.js', url: 'nextjs' },
        { title: 'Remix', url: 'remix' },
        { title: 'React Router', url: 'react-router' },
        { title: 'Gatsby', url: 'gatsby' },
        { title: 'Ember', url: 'ember' },
        { title: 'Redwood', url: 'redwood' },
        { title: 'Rsbuild', url: 'rsbuild' },
        { title: 'Qwik', url: 'qwik' },
        { title: 'Vite', url: 'vite' },
        { title: 'Vue', url: 'vue' },
        { title: 'Nuxt', url: 'nuxt' },
        { title: 'Preact', url: 'preact' },
        { title: 'Solid.js', url: 'solidjs' },
        { title: 'Svelte', url: 'svelte' },
        { title: 'Storybook', url: 'storybook' },
      ],
    },
    {
      title: 'Concepts',
      url: 'concepts',
      items: [
        { title: 'Cascade Layers', url: 'cascade-layers' },
        { title: 'Build Diagnostics', url: 'build-diagnostics' },
        { title: 'Writing Styles', url: 'writing-styles' },
        { title: 'Merging Styles', url: 'merging-styles' },
        { title: 'Global Styles', url: 'global-styles' },
        { title: 'Conditional Styles', url: 'conditional-styles' },
        { title: 'Responsive Design', url: 'responsive-design' },
        { title: 'View Transitions', url: 'view-transitions' },
        { title: 'Virtual Color', url: 'virtual-color' },
        { title: 'Patterns', url: 'patterns' },
        { title: 'Recipes', url: 'recipes' },
        { title: 'Slot Recipes', url: 'slot-recipes' },
        { title: 'Color opacity modifier', url: 'color-opacity-modifier' },
        { title: 'Hooks', url: 'hooks' },
        { title: 'Styled System', url: 'styled-system' },
        { title: 'The extend keyword', url: 'extend' },
      ],
    },
    {
      title: 'Migration',
      url: 'migration',
      items: [
        { title: 'Panda CSS', url: 'panda' },
        { title: 'Stitches', url: 'stitches' },
        { title: 'Styled Components', url: 'styled-components' },
        { title: 'Theme UI', url: 'theme-ui' },
      ],
    },
    {
      title: 'Theming',
      url: 'theming',
      items: [
        { title: 'Tokens', url: 'tokens' },
        { title: 'Token Usage', url: 'usage' },
        { title: 'Mixins', url: 'mixins' },
        { title: 'Spec', url: 'spec', tag: 'new' },
      ],
    },
    {
      title: 'Customization',
      url: 'customization',
      items: [
        { title: 'Patterns', url: 'patterns' },
        { title: 'Conditions', url: 'conditions' },
        { title: 'Utilities', url: 'utilities' },
        { title: 'Presets', url: 'presets' },
        { title: 'Theme', url: 'theme' },
        { title: 'Config Functions', url: 'config-functions' },
        { title: 'Deprecations', url: 'deprecations' },
      ],
    },
    {
      title: 'Utilities',
      url: 'utilities',
      items: [
        { title: 'Background', url: 'background' },
        { title: 'Border', url: 'border' },
        { title: 'Display', url: 'display' },
        { title: 'Divide', url: 'divide' },
        { title: 'Effects', url: 'effects' },
        { title: 'Flex and Grid', url: 'flex-and-grid' },
        { title: 'Gradients', url: 'gradients' },
        { title: 'Helpers', url: 'helpers' },
        { title: 'Interactivity', url: 'interactivity' },
        { title: 'Layout', url: 'layout' },
        { title: 'List', url: 'list' },
        { title: 'Outline', url: 'outline' },
        { title: 'Focus Ring', url: 'focus-ring' },
        { title: 'Sizing', url: 'sizing' },
        { title: 'Spacing', url: 'spacing' },
        { title: 'SVG', url: 'svg' },
        { title: 'Tables', url: 'tables' },
        { title: 'Transforms', url: 'transforms' },
        { title: 'Transitions', url: 'transitions' },
        { title: 'Typography', url: 'typography' },
      ],
    },
    {
      title: 'Guides',
      url: 'guides',
      items: [
        { title: 'Minimal Setup', url: 'minimal-setup' },
        { title: 'Component Library', url: 'component-library' },
        { title: 'Multiple Themes', url: 'multiple-themes' },
        { title: 'Custom Fonts', url: 'fonts' },
        { title: 'Dynamic Styles', url: 'dynamic-styling' },
        { title: 'Static Generator', url: 'static' },
        { title: 'Source Transformation', url: 'source-transformation' },
        { title: 'Debugging', url: 'debugging' },
      ],
    },
    {
      title: 'References',
      url: 'references',
      items: [
        { title: 'CLI', url: 'cli' },
        { title: 'Config', url: 'config' },
      ],
    },
  ],
}
