import React, {useContext, useEffect, useRef, useState} from "react"; import {SessionContext} from "@/context/SessionContext"; import NoPicture from "@/components/NoPicture"; import System from "@/lib/models/System"; export default function UserMenu() { const {session} = useContext(SessionContext); const profileMenuRef: React.RefObject = useRef(null); const [isProfileMenuOpen, setIsProfileMenuOpen] = useState(false); function handleProfileClick(): void { setIsProfileMenuOpen(!isProfileMenuOpen); } useEffect((): () => void => { function handleClickOutside(event: MouseEvent): void { if (profileMenuRef.current && !profileMenuRef.current.contains(event.target as Node)) { setIsProfileMenuOpen(false); } } if (isProfileMenuOpen) { document.addEventListener("mousedown", handleClickOutside); } return (): void => { document.removeEventListener("mousedown", handleClickOutside); }; }, [isProfileMenuOpen]); function handleLogout(): void { System.removeCookie("token"); document.location.href = "https://eritors.com/login"; } return (
{isProfileMenuOpen && (

{session.user?.username}

{session.user?.email}

Paramètres Déconnexion
)}
) }