Add friend menu with submenus

This commit is contained in:
nightbug-xx 2025-06-09 18:51:14 +09:00
parent ee6535188c
commit 91f5a32dbe
4 changed files with 39 additions and 0 deletions

View File

@ -16,6 +16,8 @@ import Dashboard from './pages/Dashboard'
import MePage from './pages/MePage'
import CharacterEditPage from './pages/CharacterEditPage'
import GuidePage from './pages/Guide'
import FriendList from './pages/FriendList'
import FriendRequests from './pages/FriendRequests'
const darkTheme = createTheme({
palette: {
@ -44,6 +46,8 @@ function App() {
<Route path="/me" element={<MePage />} />
<Route path="/characters/:id/edit" element={<CharacterEditPage />} />
<Route path="/homeworks/:id/edit" element={<HomeworkEditPage />} />
<Route path="/friends" element={<FriendList />} />
<Route path="/friends/requests" element={<FriendRequests />} />
<Route path="/guide" element={<GuidePage />} />
</Routes>
</Layout>

View File

@ -19,6 +19,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {
const [anchorElCharacter, setAnchorElCharacter] = useState<null | HTMLElement>(null)
const [anchorElHomework, setAnchorElHomework] = useState<null | HTMLElement>(null)
const [anchorElFriend, setAnchorElFriend] = useState<null | HTMLElement>(null)
const [anchorElUser, setAnchorElUser] = useState<null | HTMLElement>(null)
const handleMenuOpen = (
@ -71,6 +72,16 @@ export default function Layout({ children }: { children: React.ReactNode }) {
<MenuItem component={Link} to="/homeworks" onClick={handleMenuClose(setAnchorElHomework)}> </MenuItem>
</Menu>
<Button color="inherit" onClick={handleMenuOpen(setAnchorElFriend)}></Button>
<Menu
anchorEl={anchorElFriend}
open={Boolean(anchorElFriend)}
onClose={handleMenuClose(setAnchorElFriend)}
>
<MenuItem component={Link} to="/friends" onClick={handleMenuClose(setAnchorElFriend)}></MenuItem>
<MenuItem component={Link} to="/friends/requests" onClick={handleMenuClose(setAnchorElFriend)}></MenuItem>
</Menu>
<IconButton color="inherit" onClick={handleUserMenuOpen} size="large">
<AccountCircle />
</IconButton>

12
src/pages/FriendList.tsx Normal file
View File

@ -0,0 +1,12 @@
import { Box, Typography } from '@mui/material'
export default function FriendList() {
return (
<Box sx={{ p: 4 }}>
<Typography variant="h5" gutterBottom>
</Typography>
<Typography> ...</Typography>
</Box>
)
}

View File

@ -0,0 +1,12 @@
import { Box, Typography } from '@mui/material'
export default function FriendRequests() {
return (
<Box sx={{ p: 4 }}>
<Typography variant="h5" gutterBottom>
</Typography>
<Typography> ...</Typography>
</Box>
)
}