"use client"; import { useEffect, useRef, useState } from "react"; import { Menu, Sun, Moon } from "lucide-react"; import Link from "next/link"; import Image from "next/image"; import { useRouter } from "next/navigation"; import { useTheme } from "./ThemeProvider"; import { Button } from "@/components/ui/button"; export default function Navbar() { const [isOpen, setIsOpen] = useState(false); const { theme, toggleTheme } = useTheme(); const router = useRouter(); const adminHoldTimerRef = useRef | null>(null); const adminGestureTriggeredRef = useRef(false); const clearAdminHoldTimer = () => { if (adminHoldTimerRef.current) { clearTimeout(adminHoldTimerRef.current); adminHoldTimerRef.current = null; } }; useEffect(() => { const onWindowBlur = () => { clearAdminHoldTimer(); adminGestureTriggeredRef.current = false; }; window.addEventListener("blur", onWindowBlur); return () => { window.removeEventListener("blur", onWindowBlur); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); return ( ); }