'use client'; import toast from 'react-hot-toast'; import { usePathname, useRouter } from 'next/navigation'; import { Icon } from '@iconify/react'; import Button from '@/components/Button'; import Breadcrumb, { buildBreadcrumbs } from '@/components/Breadcrumb'; import PopoverButton from '@/components/popover/PopoverButton'; import PopoverContent from '@/components/popover/PopoverContent'; import { useAuth } from '@/services/hooks/useAuth'; import { AuthApi } from '@/services/api/auth'; import { isResponseError } from '@/lib/api-helper'; import { useUiStore } from '@/stores/ui/ui.store'; interface NavbarProps { toggleSidebar?: () => void; } const Navbar = ({ toggleSidebar }: NavbarProps) => { const { setUser } = useAuth(); const router = useRouter(); const pathname = usePathname(); const navbarActions = useUiStore((state) => state.navbarActions); const logoutClickHandler = async () => { const logoutRes = await AuthApi.logout(); if (isResponseError(logoutRes)) { toast.error('Gagal logout! Coba lagi!'); return; } setUser(undefined); const redirect = (logoutRes as { redirect?: string })?.redirect; if (redirect) { window.location.href = redirect; return; } router.replace(process.env.NEXT_PUBLIC_SSO_LOGIN_URL as string); }; return (