[AI Filter] 09. 4주차 월요일
1. 네비게이션바 생성
상단 네비게이션바를 생성했다. Home, Introduction, TechDemos를 클릭하면 해당 페이지로 이동한다.
근데 문제가 있다! 각 버튼 위에 hover 했을 때 메뉴를 뜨게 하고싶은데 anchorEl
설정이 잘 안되는지 자꾸 유효하지 않은 HTML Element라고 뜬다 이부분은 내일 해결해야겠다.
아래는 지금까지 짠 코드다
import { useState, MouseEvent } from "react";
import { styled } from "@mui/material/styles";
import { Box, Stack, Button, AppBar, Toolbar, Menu, MenuItem } from "@mui/material";
import { Link as RouterLink, useLocation, matchPath } from "react-router-dom";
import logo from "../../Assets/Image/logo.png";
function NavBar() {
const APPBAR_MOBILE = 64;
const APPBAR_DESKTOP = 84;
const location = useLocation();
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
const open = Boolean(anchorEl);
const handleOpen = (event: MouseEvent<HTMLElement>) => {
setAnchorEl(event.currentTarget);
console.log(event.currentTarget)
console.log(anchorEl)
}
const handleClose = () => {
setAnchorEl(null);
}
const routes = [
{ path: "/", name: "Home" },
{
path: "/Introduction",
name: "Introduction",
children: [
{ path: "", name: "Introduction" },
{ path: "QuickStart", name: "QuickStart" },
],
},
{
path: "/TechDemos",
name: "TechDemos",
children: [
{ path: "ImageFilter", name: "ImageFilter" },
{ path: "WebcamFilter", name: "WebcamFilter" },
],
},
];
const RootStyle = styled(AppBar)(({ theme }) => ({
boxShadow: "none",
backdropFilter: "blur(6px)",
WebkitBackdropFilter: "blur(6px)",
backgroundColor: "#031214",
}));
const ToolbarStyle = styled(Toolbar)(({ theme }) => ({
minHeight: APPBAR_MOBILE,
[theme.breakpoints.up("lg")]: {
minHeight: APPBAR_DESKTOP,
padding: theme.spacing(0, 3),
},
}));
return (
<RootStyle>
<ToolbarStyle>
<Box sx={{ px: 2, py: 1, pr: 4 }}>
<RouterLink to="/">
<Box component="img" src={logo} sx={{ height: 60 }}></Box>
</RouterLink>
</Box>
<Stack direction="row" alignItems="center" spacing={{ xs: 0.5, sm: 6.5 }} sx={{ mr: 10 }}>
{routes.map((route) => {
const isCurrentPath = matchPath(location.pathname, route.path);
const fontColor = isCurrentPath ? "#CEF3FF" : "#F2FFFF";
const fontWeight = isCurrentPath ? "600" : "200";
return (
<span key={route.name}>
<Button
id="basic-button"
aria-controls={open ? 'basic-menu' : undefined}
aria-haspopup="true"
aria-expanded={open ? 'true' : undefined}
onMouseOver={handleOpen}
to={route.path}
size="large"
sx={{ fontFamily: "Pretendard-Regular", color: fontColor, fontWeight }}
component={RouterLink}
>
{route.name}
</Button>
<Menu
id="basic-menu"
anchorEl={anchorEl}
open={open}
onClose={handleClose}
MenuListProps={{
'aria-labelledby': 'basic-button',
onMouseLeave: handleClose,
}}
>
<MenuItem onClick={handleClose}>Profile</MenuItem>
<MenuItem onClick={handleClose}>My account</MenuItem>
<MenuItem onClick={handleClose}>Logout</MenuItem>
</Menu>
</span>
);
})}
</Stack>
</ToolbarStyle>
</RootStyle>
);
}
export default NavBar;
2. 책구입
올해 한달에 한권씩 책 읽자고 한 다짐은 온데간데 없고 아직 한권도 안읽었다.. 그래서 이번에 Yes24 중고서점에 가서 손원평
작가님의 프리즘
책을 구매했다. 이번달이 얼마 안남았지만 열심히 읽어보려고 한다.
3. 🌷튤립 개화🌷
2월 26일에 사서 화분에 구근 3개를 심고, 1개는 수경재배 했다. 수경재배한 튤립이 벌써 개화했다!!! 요즘 튤립이 너무 예뻐보여서 여기저기 튤립 이미지를 쓰고 튤립 이모티콘 쓰는중인데 내가 키운 튤립이라 그런지 세상 제일 이뻐보여...
Author And Source
이 문제에 관하여([AI Filter] 09. 4주차 월요일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hablobien/AI-Filter-4주차-월요일저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)