"use client"; import { useEffect, useMemo, useState } from "react"; import LogoutButton from "@/components/LogoutButton"; import { api } from "@/lib/api"; import type { CurrentUser } from "@/types/rbac"; export default function Header() { const [currentUser, setCurrentUser] = useState(null); useEffect(() => { let active = true; api.get("/me") .then((response) => { if (active) { setCurrentUser(response.data); } }) .catch(() => { if (active) { setCurrentUser(null); } }); return () => { active = false; }; }, []); const displayName = useMemo(() => { if (!currentUser) { return "Benutzer"; } const fullName = `${currentUser.first_name} ${currentUser.last_name}`.trim(); return fullName || currentUser.username || "Benutzer"; }, [currentUser]); return (

Dashboard

{displayName}
); }