import type { SidebarsConfig, } from '@docusaurus/plugin-content-docs';
import { PropSidebarItemLink } from '@docusaurus/plugin-content-docs';
import frigateHttpApiSidebar from './docs/integrations/api/sidebar';

const sidebars: SidebarsConfig = {
  docs: {
    Frigate: [
      'frigate/index',
      'frigate/hardware',
      'frigate/installation',
      'frigate/camera_setup',
      'frigate/video_pipeline',
      'frigate/glossary',
    ],
    Guides: [
      'guides/getting_started',
      'guides/configuring_go2rtc',
      'guides/ha_notifications',
      'guides/ha_network_storage',
      'guides/reverse_proxy',
    ],
    Configuration: {
      'Configuration Files': [
        'configuration/index',
        'configuration/reference',
        {
          type: 'link',
          label: 'Go2RTC Configuration Reference',
          href: 'https://github.com/AlexxIT/go2rtc/tree/v1.9.2#configuration',
        } as PropSidebarItemLink,
      ],
      Detectors: [
        'configuration/object_detectors',
        'configuration/audio_detectors',
      ],
      'Semantic Search': [
        'configuration/semantic_search',
        'configuration/genai',
      ],
      Cameras: [
        'configuration/cameras',
        'configuration/review',
        'configuration/record',
        'configuration/snapshots',
        'configuration/motion_detection',
        'configuration/birdseye',
        'configuration/live',
        'configuration/restream',
        'configuration/autotracking',
        'configuration/camera_specific',
      ],
      Objects: [
        'configuration/object_filters',
        'configuration/masks',
        'configuration/zones',
        'configuration/objects',
        'configuration/stationary_objects',
      ],
      'Extra Configuration': [
        'configuration/authentication',
        'configuration/notifications',
        'configuration/hardware_acceleration',
        'configuration/ffmpeg_presets',
        "configuration/pwa",
        'configuration/tls',
        'configuration/advanced',
      ],
    },
    Integrations: [
      'integrations/plus',
      'integrations/home-assistant',
      // This is the HTTP API generated by OpenAPI
      {
        type: 'category',
        label: 'HTTP API',
        link: {
          type: 'generated-index',
          title: 'Frigate HTTP API',
          description: 'HTTP API',
          slug: '/integrations/api/frigate-http-api',
        },
        items: frigateHttpApiSidebar,
      },
      'integrations/mqtt',
      'integrations/third_party_extensions',
    ],
    'Frigate+': [
      'plus/index',
      'plus/first_model',
      'plus/improving_model',
      'plus/faq',
    ],
    Troubleshooting: [
      'troubleshooting/faqs',
      'troubleshooting/recordings',
      'troubleshooting/edgetpu',
    ],
    Development: [
      'development/contributing',
      'development/contributing-boards',
    ],
  },
};

export default sidebars;