import { AppBar, Toolbar, Typography, Button, Menu, MenuItem, IconButton, } from '@mui/material' import { AccountCircle } from '@mui/icons-material' import { Link, useNavigate, useLocation } from 'react-router-dom' import { useAuth } from '../contexts/AuthContext' import { useState } from 'react' export default function Layout({ children }: { children: React.ReactNode }) { const location = useLocation() const navigate = useNavigate() const { isLoggedIn, logout } = useAuth() const [anchorElCharacter, setAnchorElCharacter] = useState(null) const [anchorElHomework, setAnchorElHomework] = useState(null) const [anchorElFriend, setAnchorElFriend] = useState(null) const [anchorElUser, setAnchorElUser] = useState(null) const handleMenuOpen = ( setter: React.Dispatch> ) => (event: React.MouseEvent) => { setter(event.currentTarget) } const handleMenuClose = ( setter: React.Dispatch> ) => () => { setter(null) } const handleUserMenuOpen = (event: React.MouseEvent) => { setAnchorElUser(event.currentTarget) } const handleUserMenuClose = () => { setAnchorElUser(null) } const handleLogout = () => { logout() navigate('/login') } const menuItems = isLoggedIn ? ( <> 캐릭터 목록 내 숙제 숙제 목록 친구목록 요청관리 { handleUserMenuClose(); navigate('/me') }}> 내 정보 { handleUserMenuClose(); handleLogout() }}> 로그아웃 ) : ( <> ) return ( <> {menuItems} {children} ) }