import {
  FileLineChart,
  HeartPulse,
  LineChart,
  MousePointerClick,
  ShoppingCart,
  Stethoscope,
  TestTube2,
} from 'lucide-react';
import { z } from 'zod';

import { NavigationConfigSchema } from '@kit/ui/navigation-schema';

import pathsConfig from '~/config/paths.config';

const iconClasses = 'w-4 stroke-[1.5px]';

const routes = [
  {
    children: [
      {
        label: 'common:routes.overview',
        path: pathsConfig.app.home,
        Icon: <LineChart className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.booking',
        path: pathsConfig.app.booking,
        Icon: <MousePointerClick className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.myOrders',
        path: pathsConfig.app.myOrders,
        Icon: <ShoppingCart className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.analysisResults',
        path: pathsConfig.app.analysisResults,
        Icon: <TestTube2 className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.orderAnalysisPackage',
        path: pathsConfig.app.orderAnalysisPackage,
        Icon: <HeartPulse className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.orderAnalysis',
        path: pathsConfig.app.orderAnalysis,
        Icon: <FileLineChart className={iconClasses} />,
        end: true,
      },
      {
        label: 'common:routes.orderHealthAnalysis',
        path: pathsConfig.app.orderHealthAnalysis,
        Icon: <Stethoscope className={iconClasses} />,
        end: true,
      },
    ],
  },
] satisfies z.infer<typeof NavigationConfigSchema>['routes'];

export const personalAccountNavigationConfig = NavigationConfigSchema.parse({
  routes,
  style: 'custom',
  sidebarCollapsed: false,
  sidebarCollapsedStyle: 'icon',
});
