import React, { useState, useEffect } from "react"; import { Search, LogIn, Menu, X, Moon, Sun } from "lucide-react"; import { NavigationMenu, NavigationMenuList, NavigationMenuItem, } from "@/components/ui/navigation-menu"; import { Button } from "@/components/ui/button"; import { Link, router } from "@inertiajs/react"; import { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@/components/ui/drawer"; import RunningText from "./RunningText"; import { useTheme } from "next-themes"; interface NavItemsProps { mobile?: boolean; onClose?: () => void; } const Navbar = () => { const [isScrolled, setIsScrolled] = useState(false); const [isDrawerOpen, setIsDrawerOpen] = useState(false); const [searchQuery, setSearchQuery] = useState(""); const { theme, setTheme } = useTheme(); // Handle scroll effect useEffect(() => { const handleScroll = () => { const scrollPosition = window.scrollY; setIsScrolled(scrollPosition > 50); }; window.addEventListener("scroll", handleScroll); return () => window.removeEventListener("scroll", handleScroll); }, []); const toggleTheme = () => { setTheme(theme === "light" ? "dark" : "light"); }; const handleSearch = (e: React.FormEvent) => { e.preventDefault(); if (searchQuery) { router.push(`/search/${searchQuery}`); setSearchQuery(""); // Clear input setelah search } }; const NavItems: React.FC = ({ mobile = false, onClose }) => ( <> HOME {["PENGUMUMAN", "UNDANGAN", "PERATURAN"].map((item) => ( {item} ))}
setSearchQuery(e.target.value)} className={`bg-white text-black px-3 py-2 rounded-l-full focus:outline-none w-full ${ mobile ? "w-32" : "w-40" }`} />
); return (
Logo
Login Menu
setIsDrawerOpen(false) } />
LOGIN
); }; export default Navbar;