/**
 * Creating a sidebar enables you to:
 - create an ordered group of docs
 - render a sidebar for each doc of that group
 - provide next/previous navigation

 The sidebars can be generated from the filesystem, or explicitly defined here.

 Create as many sidebars as you want.
 */

/**
 * Configuration de la sidebar pour la documentation Veza Platform
 *
 * Cette sidebar organise la documentation en sections logiques :
 * - Vue d'ensemble et concepts
 * - Architecture et design
 * - Services (Frontend, Backend, Infrastructure)
 * - SRE, QA et opérations
 * - API et références
 * - Product et roadmap
 */

const sidebars = {
  tutorialSidebar: [
    // Page d'accueil de la documentation
    'overview/overview',
    
    // Vue d'ensemble et concepts
    {
      type: 'category',
      label: '🎯 Vue d\'ensemble',
      items: [
        'overview/overview',
        'getting-started/getting-started',
      ],
    },

    // Architecture
    {
      type: 'category',
      label: '🏗️ Architecture',
      items: [
        {
          type: 'category',
          label: 'Système',
          items: [
            'architecture/system/system-architecture',
            'architecture/data/er-diagram',
          ],
        },
      ],
    },

    // Sectors (Applications)
    {
      type: 'category',
      label: '🌐 Applications',
      items: [
        {
          type: 'category',
          label: 'Web',
          items: [
            'sectors/web/web-application',
          ],
        },
      ],
    },

    // Backend Services
    {
      type: 'category',
      label: '🔧 Backend Services',
      items: [
        {
          type: 'category',
          label: 'Rust Chat',
          items: [
            'backend/rust-chat/rust-chat-server',
          ],
        },
        {
          type: 'category',
          label: 'Rust Stream',
          items: [
            'backend/rust-stream/rust-stream-server',
          ],
        },
      ],
    },

    // Infrastructure
    {
      type: 'category',
      label: '🛡️ Infrastructure',
      items: [
        {
          type: 'category',
          label: 'Observabilité',
          items: [
            'infra/observability/observability',
          ],
        },
      ],
    },

    // Product
    {
      type: 'category',
      label: '📈 Product',
      items: [
        {
          type: 'category',
          label: 'Roadmap',
          items: [
            'product/roadmap/roadmap',
          ],
        },
      ],
    },

    // API Reference
    {
      type: 'category',
      label: '📡 API Reference',
      items: [
        'api-reference/openapi/openapi',
      ],
    },

    // Meta
    {
      type: 'category',
      label: '📚 Meta',
      items: [
        {
          type: 'category',
          label: 'Style Guide',
          items: [
            'meta/style-guide/style-guide',
          ],
        },
      ],
    },
  ],
};

module.exports = sidebars;