import { useState } from "react"; import { Avatar, AvatarFallback } from "~/components/ui/avatar"; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "~/components/ui/dropdown-menu"; import { ChevronDown, LineChartIcon, LogOut, Moon, Settings, Sun, } from "lucide-react"; // TODO: THEME // import { useTheme } from "~/components/ui/theme-provider"; import { useNavigate } from "react-router"; import { logout, type User } from "~/lib/api"; export default function UserDropdown({ user }: { user: User }) { // TODO: const { theme, setTheme } = useTheme(); const [theme, setTheme] = useState("light"); const [open, setOpen] = useState(false); const navigate = useNavigate(); const handleLogout = async () => { try { await logout(); navigate("/login", { replace: true }); } catch (error) { console.error("Logout failed:", error); } } return (

{user.fullName}

{user.className}

setTheme(theme === "dark" ? "light" : "dark")} > {theme === "dark" ? ( <> Mode clair ) : ( <> Mode sombre )} { e.stopPropagation(); e.preventDefault(); navigate("/settings"); }}> Paramètres { e.stopPropagation(); e.preventDefault(); navigate("/progress"); }}> Progression Se déconnecter
); } const getAvatar = (name: string) => { return name .split(" ") .map((word) => word.charAt(0)) .join("") .toUpperCase(); };