"use client"; import Image from "next/image"; import { Bell, LogOut } from "lucide-react"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import Cookies from "js-cookie"; import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbSeparator, BreadcrumbPage, } from "@/components/ui/breadcrumb"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; export default function DashboardNavbar() { const router = useRouter(); const pathname = usePathname(); const [role, setRole] = useState(null); const [activeTab, setActiveTab] = useState("Manajemen User"); const [approverTab, setApproverTab] = useState("Kurasi Konten"); const segments = pathname.split("/").filter(Boolean); useEffect(() => { const userRole = Cookies.get("userRole"); setRole(userRole || null); }, []); const handleLogout = () => { Cookies.remove("userRole"); router.push("/auth"); }; if (!role) return null; return (
{/* === Kiri: Logo + Breadcrumb === */}
Logo {/* Breadcrumb selalu tampil */} Home {segments.map((segment, index) => { const href = "/" + segments.slice(0, index + 1).join("/"); const isLast = index === segments.length - 1; const label = segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, " "); return (
{isLast ? ( {label} ) : ( {label} )}
); })}
{/* === Tengah: Menu berdasarkan Role === */}
{/* ADMIN */} {role === "admin" && (
)} {/* APPROVER */} {role === "approver" && (
{["Kurasi Konten", "Publish Konten"].map((tab) => ( ))}
)} {/* SUPERVISOR */} {role === "supervisor" && (
Supervisor Dashboard
)} {/* USER */} {role === "user" && (
User Dashboard
)}
{/* === Kanan: Notifikasi + Profil === */}
My Account Logout
); }