"use client";
import { useState, useEffect, useCallback } from "react";
import { useAuth } from "@/lib/auth";
import { useTheme } from "./ThemeProvider";
import Link from "next/link";
import { useRouter } from "next/navigation";
export default function Header() {
const { user, logout, token } = useAuth();
const { theme, toggleTheme } = useTheme();
const router = useRouter();
const [drawerOpen, setDrawerOpen] = useState(false);
function handleLogout() {
logout();
router.push("/login");
setDrawerOpen(false);
}
const closeDrawer = useCallback(() => setDrawerOpen(false), []);
const openDrawer = useCallback(() => setDrawerOpen(true), []);
// Close drawer on escape
useEffect(() => {
if (!drawerOpen) return;
function handleKey(e: KeyboardEvent) {
if (e.key === "Escape") closeDrawer();
}
document.addEventListener("keydown", handleKey);
document.body.style.overflow = "hidden";
return () => {
document.removeEventListener("keydown", handleKey);
document.body.style.overflow = "";
};
}, [drawerOpen, closeDrawer]);
return (
<>
{user.name || "Uživatel"}
{user.email}