/**
 * 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.
 */

// @ts-check

const backToHomeLink = {
  /** @type {"ref"} */
  type: 'ref',
  id: 'homepage',
  label: 'Back to home',
  className: 'menu__list-item--home',
  customProps: {
    icon: 'TbArrowBackUp',
    iconSize: 20,
  },
};

/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
  docsSidebar: [
    {
      type: 'doc',
      id: 'homepage',
      customProps: {
        type: 'search-bar',
        props: { name: 'Hello World', age: 42 },
      },
    },
    { type: 'autogenerated', dirName: '.' },
    {
      type: 'category',
      label: 'Extending',
      items: [
        {
          type: 'category',
          label: 'Rest APIs',
          collapsible: true,
          collapsed: true,
          customProps: {
            icon: 'TbApi',
          },
          items: [
            {
              type: 'link',
              label: 'Core API',
              href: '/rest-api/core',
            },
            {
              type: 'link',
              label: 'Metadata API',
              href: '/rest-api/metadata',
            },
          ],
        },
        {
          type: 'category',
          label: 'GraphQL APIs',
          collapsible: true,
          collapsed: true,
          customProps: {
            icon: 'TbBrandGraphql',
          },
          items: [
            {
              type: 'link',
              label: 'Core API',
              href: '/graphql/core',
            },
            {
              type: 'link',
              label: 'Metadata API',
              href: '/graphql/metadata',
            },
          ],
        },
        {
          type: 'category',
          label: 'UI Kit',
          collapsible: true,
          collapsed: true,
          customProps: {
            icon: 'TbComponents',
          },
          items: [
            {
              type: 'link',
              label: 'Storybook',
              href: 'https://storybook.twenty.com',
            },
            {
              type: 'link',
              label: 'Components',
              href: '/ui-components/',
            },
          ],
        },
      ],
    },
  ],
  uiDocsSidebar: [{ type: 'autogenerated', dirName: 'ui-components' }],
};

module.exports = sidebars;
