import type { SidebarData } from '@ui/components/layout/types'
import {
    BeakerIcon,
    BookOpen,
    Calculator,
    ClipboardList,
    FlaskConical,
    Home,
    LayoutDashboard,
    ListChecks,
    ReceiptText,
    ShieldCheck,
    ScrollText,
    SlidersHorizontal,
    Truck,
    Users,
    Wrench,
} from 'lucide-react'

/**
 * LIMS-app specific sidebar navigation.
 *
 * User info is intentionally left as placeholder — the actual user is
 * injected dynamically in the layout via Inertia shared props.
 */
export const limsSidebarData: SidebarData = {
    user: {
        name: 'User LIMS',
        email: '',
        avatar: '',
    },
    teams: [
        {
            name: 'GMP LIMS',
            logo: FlaskConical,
            plan: 'Lab Information Management',
        },
        {
            name: 'Menu Utama',
            logo: Home,
            plan: 'Dashboard SSO',
            url: `${import.meta.env.VITE_AUTH_APP_URL || 'http://localhost:8000'}/dashboard`,
        },
    ],
    navGroups: [
        {
            title: 'Umum',
            items: [
                {
                    title: 'Dashboard',
                    url: '/dashboard',
                    icon: LayoutDashboard,
                },
            ],
        },
        {
            title: 'Master Data',
            items: [
                {
                    title: 'Regulasi',
                    url: '/master-data/regulations',
                    icon: ScrollText,
                },
                {
                    title: 'Group Item Sampel',
                    icon: BeakerIcon,
                    badge: 'Field Dinamis',
                    items: [
                        {
                            title: 'Daftar Item Sampel',
                            url: '/master-data/sample-items',
                        },
                        {
                            title: 'Kategori Item Sampel',
                            url: '/master-data/sample-type-categories',
                        },
                        {
                            title: 'Parameter per Item Sampel',
                            url: '/master-data/sample-type-parameters',
                        },
                    ],
                },
                {
                    title: 'Biaya Matriks',
                    url: '/master-data/sample-type-groups',
                    icon: BeakerIcon,
                },
                {
                    title: 'Group Parameter',
                    icon: ListChecks,
                    items: [
                        {
                            title: 'Parameter',
                            url: '/master-data/parameters',
                        },
                        {
                            title: 'Kategori Parameter',
                            url: '/master-data/parameter-categories',
                        },
                        {
                            title: 'Parameter Alias',
                            url: '/master-data/parameter-aliases',
                        },
                    ],
                },
                {
                    title: 'Satuan',
                    url: '/master-data/units',
                    icon: SlidersHorizontal,
                },
                {
                    title: 'Metode Pengujian',
                    url: '/master-data/methods',
                    icon: BookOpen,
                },
                {
                    title: 'Master Reagen',
                    url: '/master-data/reagent-masters',
                    icon: FlaskConical,
                },
                {
                    title: 'Baku Mutu',
                    url: '/master-data/quality-standards',
                    icon: SlidersHorizontal,
                },
                {
                    title: 'Approval Baku Mutu (Sustain)',
                    url: '/master-data/quality-standard-approvals',
                    icon: ShieldCheck,
                },
                {
                    title: 'Assignment Analis',
                    url: '/master-data/analyst-assignments',
                    icon: SlidersHorizontal,
                },
                {
                    title: 'Master Tim',
                    url: '/master-data/master-teams',
                    icon: Users,
                },
                {
                    title: 'Master Plotting Alat Sampling',
                    url: '/master-data/sampling-tool-plottings',
                    icon: Wrench,
                },
                {
                    title: 'Master Kalkulasi Ambil Sampel',
                    url: '/master-data/sample-collection-calculations',
                    icon: Calculator,
                },
                {
                    title: 'Master Driver',
                    url: '/master-data/drivers',
                    icon: Truck,
                },
                {
                    title: 'Master Jenis Biaya',
                    url: '/master-data/cost-types',
                    icon: ReceiptText,
                },
                {
                    title: 'Group Aset (GWIN)',
                    url: `${import.meta.env.VITE_GWIN_APP_URL || 'http://localhost:8006'}/master-data/asset-groups`,
                    icon: SlidersHorizontal,
                },
            ],
        },
        {
            title: 'Transaksi',
            items: [
                {
                    title: 'Quotation',
                    url: '/sales-orders?stage=quotation',
                    icon: ClipboardList,
                },
                {
                    title: 'Sales Order',
                    url: '/sales-orders?stage=sales_order',
                    icon: ClipboardList,
                },
            ],
        },
    ],
}
