import {Center, Flex, Image, rem, Stack, Tooltip, UnstyledButton, useMantineColorScheme} from '@mantine/core';
import {
    IconBarcode,
    IconBox,
    IconCash,
    IconDashboard,
    IconFileBarcode,
    IconHome2,
    IconLogout,
    IconMan,
    IconMoon,
    IconSun,
    IconTable,
} from '@tabler/icons-react';
import classes from './Navbar.module.css';
import {useAppDispatch} from "../../redux/store.ts";
import {logout} from "../../features/authSlice.ts";
import {useNavigate, useRouterState} from "@tanstack/react-router";
interface NavbarLinkProps {
    icon: typeof IconHome2;
    label?: string;
    active?: boolean;
    href: string;
    onClick?(navlink: NavbarLinkProps): void;
    index: number;
}
function NavbarLink(props: NavbarLinkProps) {
    const {icon: Icon, label, active, onClick} = props;
    return (
        
             onClick && onClick(props)}
                            className={classes.link}
                            data-active={active || undefined}>
                
            
        
    );
}
const mockdata = [
    {
        icon: IconCash,
        label: 'Сделки',
        href: '/leads'
    },
    {
        icon: IconTable,
        label: 'Таблица сделок',
        href: '/deals'
    },
    {
        icon: IconMan,
        label: 'Клиенты',
        href: '/clients'
    },
    {
        icon: IconBox,
        label: 'Услуги',
        href: '/services'
    },
    {
        icon: IconBarcode,
        label: 'Товары',
        href: '/products'
    },
    {
        icon: IconFileBarcode,
        label: 'Штрихкоды',
        href: '/barcode'
    }
];
export function Navbar() {
    const dispatch = useAppDispatch();
    const navigate = useNavigate();
    const router = useRouterState();
    const {colorScheme, toggleColorScheme} = useMantineColorScheme({keepTransitions: true});
    const onLogoutClick = () => {
        dispatch(logout());
        navigate({to: '/login'});
    }
    const onNavlinkClick = (props: NavbarLinkProps) => {
        navigate({to: props.href});
    }
    const links = mockdata.map((link, index) => (
        
    ));
    return (
        
    );
}