"use client"; import { useState, useEffect } from "react"; import { cn, getCookiesDecrypt } from "@/lib/utils"; import Image from "next/image"; import { Menu, ChevronDown } from "lucide-react"; import { Button } from "../ui/button"; import Cookies from "js-cookie"; import { Card } from "../ui/card"; import { Input } from "../ui/input"; import { usePathname } from "next/navigation"; import { Link } from "@/i18n/routing"; import { DynamicLogoTenant } from "./dynamic-logo-tenant"; const NAV_ITEMS = [ { label: "Beranda", href: "/" }, { label: "Untuk Anda", href: "/public/for-you" }, { label: "Mengikuti", href: "/auth" }, { label: "Publikasi", href: "/publikasi" }, { label: "Jadwal", href: "/public/schedule" }, ]; const PUBLIKASI_SUBMENU = [ { label: "K/L", href: "/public/publication/kl" }, { label: "BUMN", href: "/in/public/publication/bumn" }, { label: "Pemerintah Daerah", href: "/public/publication/pemerintah-daerah" }, ]; export default function Navbar() { const [isSidebarOpen, setIsSidebarOpen] = useState(false); // const [user, setUser] = useState<{ // id: number; // name: string; // avatar: string; // } | null>(null); const [isDropdownOpen, setDropdownOpen] = useState(false); const [showProfileMenu, setShowProfileMenu] = useState(false); const [isLoggedIn, setIsLoggedIn] = useState(false); const pathname = usePathname(); // useEffect(() => { // const roleId = getCookiesDecrypt("urie"); // console.log("roleId", roleId); // switch (roleId) { // case "1": // setUser({ // id: 1, // name: "User Test", // avatar: "/contributor.png", // }); // break; // case "3": // setUser({ // id: 3, // name: "Mabes Polri - Approver", // avatar: "/contributor.png", // }); // break; // case "7": // setUser({ // id: 7, // name: "DivHumas - RoMulmed - BagDise", // avatar: "/contributor.png", // }); // break; // case "6": // setUser({ // id: 11, // name: "jurnalis-kompas1", // avatar: "/contributor.png", // }); // break; // default: // setUser(null); // } // }, []); // const roleId = getCookiesDecrypt("urie"); // const isLoggedIn = roleId !== null; // 🔍 Fungsi untuk mengecek apakah user sedang login const checkLoginStatus = () => { const roleId = getCookiesDecrypt("urie"); const fullname = Cookies.get("ufne"); return roleId && fullname ? true : false; }; // 🔄 Cek status login saat pertama kali load useEffect(() => { setIsLoggedIn(checkLoginStatus()); }, []); // const filteredNavItems = isLoggedIn // ? NAV_ITEMS.filter((item) => item.label !== "Mengikuti") // : NAV_ITEMS; // 🔁 Gunakan isLoggedIn untuk menentukan navigasi const filteredNavItems = isLoggedIn ? NAV_ITEMS.filter((item) => item.label !== "Mengikuti") : NAV_ITEMS; // 🚪 Fungsi logout const handleLogout = () => { // Hapus semua cookie dengan kemungkinan variasi path dan domain Object.keys(Cookies.get()).forEach((cookieName) => { Cookies.remove(cookieName, { path: "/" }); Cookies.remove(cookieName, { path: "", domain: window.location.hostname, }); Cookies.remove(cookieName, { path: "/", domain: window.location.hostname, }); }); // Ubah state login jadi false agar tampilan langsung berubah setIsLoggedIn(false); setShowProfileMenu(false); // Redirect ke homepage window.location.href = "/"; }; // const handleLogout = () => { // Object.keys(Cookies.get()).forEach((cookieName) => { // Cookies.remove(cookieName); // }); // window.location.href = "/"; // // setUser(null); // setShowProfileMenu(false); // }; const username = Cookies.get("username"); const fullname = Cookies.get("ufne"); // const router = useRouter(); // const [detail, setDetail] = useState(); // const onLogout = () => { // Object.keys(Cookies.get()).forEach((cookieName) => { // Cookies.remove(cookieName); // }); // router.push("/"); // }; const [isLogin, setIsLogin] = useState(false); useEffect(() => { setIsLogin(fullname ? true : false); }, [fullname]); return (
Logo
{" "} setIsSidebarOpen(true)} />
{isSidebarOpen && (

Bahasa

Fitur

{NAV_ITEMS.map((item) => ( setIsSidebarOpen(false)} > {item.label} ))}
Tentang Kami Advertising Kontak Kami {!isLoggedIn ? ( <> Login Daftar ) : ( )}

Subscribe to Our Newsletter

setIsSidebarOpen(false)} />
)}
); }