import { useState } from "react"; import logo from "@/assets/logos/amati-logo.png"; import cx from "clsx"; import classNames from "./styles/appHeader.module.css"; import { IoMdMenu } from "react-icons/io"; import { Link, useLocation } from "@tanstack/react-router"; import useAuth from "@/hooks/useAuth"; import { Avatar, AvatarFallback, AvatarImage } from "@/shadcn/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/shadcn/components/ui/dropdown-menu"; import { Button } from "@/shadcn/components/ui/button"; import { TbMenu2 } from "react-icons/tb"; // import getUserMenus from "../actions/getUserMenus"; // import { useAuth } from "@/modules/auth/contexts/AuthContext"; // import UserMenuItem from "./UserMenuItem"; // import { toggleLeftSidebar } from "../../src/routes/_assessmentLayout/assessment/index.lazy"; interface Props { openNavbar: boolean; toggle: () => void; } interface User { id: string; name: string; permissions: string[]; role: string; photoProfile?: string; } interface Props { toggle: () => void; } // const mockUserData = { // name: "Fulan bin Fulanah", // email: "janspoon@fighter.dev", // image: "https://raw.githubusercontent.com/mantinedev/mantine/master/.demo/avatars/avatar-5.png", // }; interface Props { toggle: () => void; toggleLeftSidebar: () => void; // Add this prop } export default function AppHeader({ toggle, toggleLeftSidebar }: Props) { const [userMenuOpened, setUserMenuOpened] = useState(false); const [isLeftSidebarOpen, setIsLeftSidebarOpen] = useState(false); const { user }: { user: User | null } = useAuth(); const isSuperAdmin = user?.role === "super-admin"; // const userMenus = getUserMenus().map((item, i) => ( // // )); // const toggleLeftSidebar = () => setIsLeftSidebarOpen(!isLeftSidebarOpen); const { pathname } = useLocation(); const showAssessmentResultLinks = pathname === "/assessmentResult"; const showAssessmentLinks = pathname === "/assessment"; const assessmentRequestsLinks = pathname === "/assessmentRequest"; const managementResultsLinks = pathname === "/assessmentResultsManagement"; const shouldShowButton = !(showAssessmentResultLinks || showAssessmentLinks || assessmentRequestsLinks); return (
{shouldShowButton && ( )} {showAssessmentLinks && ( )} Logo
{/* Conditional Navlinks */} {!isSuperAdmin && (
{showAssessmentResultLinks && ( <> { if (window.opener) { window.close(); } }} > Permohonan Assessment Hasil Assessment )} {showAssessmentLinks && ( <> { if (window.opener) { window.close(); } }} > Permohonan Assessment Assessment )}
)} Logout
); }