import { Button, Flex, Heading, Stack, Text, HStack, IconButton, Menu, Box, Avatar, } from "@chakra-ui/react"; import Cookies from "js-cookie"; import { useAtom } from "jotai"; import { setIsLoggedInAtom, triggerLogoutAtom } from "@/states/Atoms"; import { useNavigate } from "react-router-dom"; import { CircleUserRound, LifeBuoy, LogOut, CalendarPlus, MoreVertical, Languages, Table, } from "lucide-react"; import { useUserContext } from "@/states/Context"; import { useState } from "react"; import { useTranslation } from "react-i18next"; import { UserDialogue } from "./UserDialogue"; export const Header = () => { const navigate = useNavigate(); const userData = useUserContext(); const { t } = useTranslation(); const [, setTriggerLogout] = useAtom(triggerLogoutAtom); const [, setIsLoggedIn] = useAtom(setIsLoggedInAtom); const [userDialog, setUserDialog] = useState(false); const username = userData.first_name ? userData.first_name : "N/A"; const fullname = userData.first_name + " " + userData.last_name; const randomColor = [ "gray", "red", "orange", "yellow", "green", "teal", "blue", "cyan", "purple", "pink", ]; const logout = () => { Cookies.remove("token"); setIsLoggedIn(false); setTriggerLogout(true); navigate("/login", { replace: true }); }; return ( {/* Mobile: Drei-Punkte-Button, vertikal zentriert im Header */} navigate("/", { replace: true })} children={ {t("create-loan")} } /> navigate("/my-loans", { replace: true })} children={ {t("my-loans")} } /> navigate("/landingpage", { replace: true })} children={ {t("landingpage")} } /> { const currentLang = Cookies.get("language") || "en"; const newLang = currentLang === "en" ? "de" : "en"; Cookies.set("language", newLang); window.location.reload(); }} children={ {t("change-language")} } /> window.open( "https://git.the1s.de/Matthias-Claudius-Schule/borrow-system/wiki", "_blank", "noopener,noreferrer", ) } children={ {t("help")} } /> {t("logout")} } /> {/* Left: Title + user info */} {/* Titelzeile ohne Mobile-Menu (wurde nach oben verlegt) */} {t("app-title")} {t("greeting")} {username}! {/* Avatar: visible on mobile, hidden on desktop (desktop version is in the actions bar) */} {/* Right: Actions */} {/* Desktop actions */} {/* Desktop avatar, aligned with action buttons */}
{t("landingpage")} {/* User Info Dialoge */} {userDialog && ( )} ); };