"use client"; import { siteConfig } from "@/config/site"; import { Input } from "@nextui-org/input"; import { Navbar, NavbarContent, NavbarItem, NavbarMenu, NavbarMenuItem, NavbarMenuToggle, } from "@nextui-org/navbar"; import { Button, Dropdown, DropdownItem, DropdownMenu, DropdownTrigger, } from "@nextui-org/react"; import Image from "next/image"; import Link from "next/link"; import { useEffect, useState } from "react"; import { ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, FbIcon, IdnIcon, IgIcon, SearchIcon, TtIcon, TwIcon, UKIcon, YtIcon, } from "../../icons"; import { ThemeSwitch } from "../../theme-switch"; import Cookies from "js-cookie"; import { useRouter } from "next/navigation"; import { useTranslations } from "next-intl"; import storedLanguage from "@/store/language-store"; interface MenuItem { key: string; label: string; href: URL; submenu?: SubMenuItem[]; } interface SubMenuItem { label: string; href: string; } interface DropdownOpenState { [key: string]: boolean; } export default function NavbarHumas() { const [dropdownOpen, setDropdownOpen] = useState({}); const router = useRouter(); const t = useTranslations("Navbar"); const token = Cookies.get("access_token"); const isAuthenticated = Cookies.get("is_authenticated"); const language = storedLanguage((state) => state.locale); const setLanguage = storedLanguage((state) => state.setLocale); useEffect(() => { if (!isAuthenticated) { onLogout(); } }, [token]); const onLogout = () => { Object.keys(Cookies.get()).forEach((cookieName) => { Cookies.remove(cookieName); }); router.push("/auth"); }; const toggleDropdown = (key: any) => { setDropdownOpen({ ...dropdownOpen, [key]: !dropdownOpen[key], }); }; const searchInput = ( } type="search" /> ); return (
logo
language === "id" ? setLanguage("en") : setLanguage("id") } > {language === "id" ? : }
{t("beranda")}
{t("tentang")} Humas POLRI {t("profilPimpinan")} {t("strukturOrganisasi")} {t("visi")} & {t("misi")} {t("tugas")} & {t("fungsi")} Logo
{/* Portal PPID */} Portal PPID
Formulir Permohonan Informasi Pelayanan SIM Pelayanan e-Rikkes SIM Pelayanan Test Psikologi SIM Pelayanan e-Arvis Pelayanan Samsat Digital Pelayanan SKCK Pelayanan Propam Presisi Pelayanan Dumas Presisi Pelayanan Binmas Whistle Blower System
{t("kontak")}
{searchInput}
{token ? ( // router.push("/admin/dashboard")} > Dashboard Profile Logout ) : ( )}
{/* {searchInput} */}
{siteConfig.humasMenuItems.map((item) => (
{item.key === "login" ? ( token ? ( ) : ( ) ) : item.key === "dashboard" ? ( token && ( {item.label} ) ) : (
toggleDropdown(item.key)} className="flex items-end gap-2" > {item.href ? ( {item.label} ) : ( {item.label} )} {item.submenu && (dropdownOpen[item.key] ? ( ) : ( ))}
)}
{dropdownOpen[item.key] && item.submenu && (
{item.submenu.map((subItem, subIndex) => (
{subItem.label}
))}
)}
))}
); }