import React, { useState, useContext, useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { Avatar, Menu, MenuItem, Button, Typography } from '@mui/material'; import { UserContext } from '../contexts/UserContext'; import { ThemeContext } from '../contexts/ThemeContext'; const UserSettings = () => { const { user, setUser } = useContext(UserContext); const { themeName, changeTheme } = useContext(ThemeContext); const navigate = useNavigate(); const [anchorEl, setAnchorEl] = useState(null); const [themeMenuAnchorEl, setThemeMenuAnchorEl] = useState(null); useEffect(() => { const storedUser = localStorage.getItem('user'); if (storedUser) { try { setUser(JSON.parse(storedUser)); } catch (error) { console.error("Failed to parse user from localStorage", error); } } }, [setUser]); const handleMenu = (event) => { setAnchorEl(event.currentTarget); }; const handleClose = () => { setAnchorEl(null); }; const handleThemeMenu = (event) => { setThemeMenuAnchorEl(event.currentTarget); }; const handleThemeMenuClose = () => { setThemeMenuAnchorEl(null); }; const handleLogout = () => { localStorage.removeItem('user'); localStorage.removeItem('guilds'); setUser(null); navigate('/'); }; const handleThemeChange = (name) => { changeTheme(name); handleThemeMenuClose(); }; if (!user) { return null; } return (