"use client"; import React, { useEffect, useState } from "react"; import ThemeSwitcher from "@/components/partials/header/theme-switcher"; import { FiFile, FiImage, FiMusic, FiYoutube } from "react-icons/fi"; import { useParams, usePathname, useRouter } from "next/navigation"; import { generateLocalizedPath } from "@/utils/globals"; import { Link } from "@/i18n/routing"; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle } from "@/components/ui/navigation-menu"; import { getCookiesDecrypt } from "@/lib/utils"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; import Image from "next/image"; import { Icon } from "@iconify/react/dist/iconify.js"; const Navbar = () => { const [menuOpen, setMenuOpen] = useState(false); const router = useRouter(); const pathname = usePathname(); const params = useParams(); const locale = params?.locale; const [language, setLanguage] = useState<"id" | "en">("id"); const [isOpen, setIsOpen] = useState(false); // const profilePicture = Cookies.get("profile_picture"); const fullName = getCookiesDecrypt("ufne"); const roleName = getCookiesDecrypt("urne"); const handleLanguageChange = (lang: "id" | "en") => { setLanguage(lang); setIsOpen(false); }; const [hasMounted, setHasMounted] = useState(false); // Hooks useEffect(() => { setHasMounted(true); }, []); // Render if (!hasMounted) return null; return (
{/* Logo */} Media Hub Logo {/* Mobile Menu Toggle */} {/* Desktop Navigation */}
{/* Nav Menu */} Konten router.push(generateLocalizedPath("/video/filter", String(locale)))} className="flex items-start gap-1.5 p-2 ">

Video

router.push(generateLocalizedPath("/audio/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 ">

Audio

router.push(generateLocalizedPath("/image/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2">

Foto

router.push(generateLocalizedPath("/document/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2">

Teks

Jadwal Indeks
Live
{/* Tombol Utama */} {/* Dropdown Menu */} {isOpen && (
)}
{fullName ? ( <> avatar-profile

{fullName}

{`(${roleName})`}

Profile Kelola Konten Keluar
) : ( <> Masuk Daftar {" "} )}
{/* Mobile Menu */} {menuOpen && (
Konten router.push(generateLocalizedPath("/video/filter", String(locale)))} className="flex items-start gap-1.5 p-2 hover:bg-white">

Video

router.push(generateLocalizedPath("/audio/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white">

Audio

router.push(generateLocalizedPath("/image/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white">

Foto

router.push(generateLocalizedPath("/document/filter", String(locale)))} className="flex place-items-start gap-1.5 p-2 hover:bg-white">

Teks

Jadwal Indeks
Live
{/* Tombol Utama Bahasa */} {/* Dropdown Menu */} {isOpen && (
)}
{fullName ? (

{fullName}

) : ( <> Masuk Daftar {" "} )}
)}
); }; export default Navbar;