diff --git a/apps/nowait-user/src/pages/home/HomeHeader.tsx b/apps/nowait-user/src/components/Header.tsx similarity index 85% rename from apps/nowait-user/src/pages/home/HomeHeader.tsx rename to apps/nowait-user/src/components/Header.tsx index b6a3381c..1e9016d2 100644 --- a/apps/nowait-user/src/pages/home/HomeHeader.tsx +++ b/apps/nowait-user/src/components/Header.tsx @@ -1,13 +1,15 @@ import { useState } from "react"; import { AnimatePresence, motion } from "framer-motion"; -import Logo from "../../assets/logo.svg?react"; -import Menu from "../../assets/icon/menu.svg?react"; -import Search from "../../assets/icon/search_black.svg?react"; -import Cancel from "../../assets/icon/cancel.svg?react"; -import Portal from "../../components/common/modal/Portal"; +import { useNavigate } from "react-router-dom"; +import Logo from "../assets/logo.svg?react"; +import Menu from "../assets/icon/menu.svg?react"; +import Search from "../assets/icon/search_black.svg?react"; +import Cancel from "../assets/icon/cancel.svg?react"; +import Portal from "./common/modal/Portal"; const HomeHeader = () => { const [isMenuOpen, setIsMenuOpen] = useState(false); + const navigate = useNavigate(); const toggleMenu = () => { setIsMenuOpen(!isMenuOpen); @@ -17,6 +19,16 @@ const HomeHeader = () => { setIsMenuOpen(false); }; + const handleBookmarkClick = () => { + closeMenu(); + navigate("/bookmark"); + }; + + const handleHomeClick = () => { + closeMenu(); + navigate("/"); + }; + return ( <>
@@ -68,7 +80,7 @@ const HomeHeader = () => { animate={{ y: 0, opacity: 1 }} exit={{ y: -20, opacity: 0 }} transition={{ duration: 0.4, delay: 0.15 }} - onClick={closeMenu} + onClick={handleHomeClick} className="block w-full text-left text-title-20-semibold leading-[136%] tracking-[-0.01em] text-black-100" > 홈 @@ -88,10 +100,10 @@ const HomeHeader = () => { animate={{ y: 0, opacity: 1 }} exit={{ y: -20, opacity: 0 }} transition={{ duration: 0.4, delay: 0.45 }} - onClick={closeMenu} + onClick={handleBookmarkClick} className="block w-full text-left text-title-20-semibold leading-[136%] tracking-[-0.01em] text-black-100" > - 마이페이지 + 북마크
diff --git a/apps/nowait-user/src/pages/bookmark/BookmarkPage.tsx b/apps/nowait-user/src/pages/bookmark/BookmarkPage.tsx new file mode 100644 index 00000000..6a6327b2 --- /dev/null +++ b/apps/nowait-user/src/pages/bookmark/BookmarkPage.tsx @@ -0,0 +1,13 @@ +import HomeHeader from "../../components/Header"; + +const BookmarkPage = () => { + return ( +
+
+ +
+
+ ); +}; + +export default BookmarkPage; diff --git a/apps/nowait-user/src/pages/home/HomePage.tsx b/apps/nowait-user/src/pages/home/HomePage.tsx index 581032b9..9815b300 100644 --- a/apps/nowait-user/src/pages/home/HomePage.tsx +++ b/apps/nowait-user/src/pages/home/HomePage.tsx @@ -1,5 +1,5 @@ import { useState } from "react"; -import HomeHeader from "./HomeHeader"; +import HomeHeader from "../../components/Header"; import ArrowDown from "../../assets/icon/arrow_down.svg?react"; import MainCard from "./components/MainCard"; import InfiniteStoreList from "./components/InfiniteStoreList"; diff --git a/apps/nowait-user/src/routes/Router.tsx b/apps/nowait-user/src/routes/Router.tsx index 35e3b70c..1432bfdb 100644 --- a/apps/nowait-user/src/routes/Router.tsx +++ b/apps/nowait-user/src/routes/Router.tsx @@ -17,6 +17,7 @@ import AddMenuPage from "../pages/order/addMenu/AddMenuPage"; import RemittanceWaitPage from "../pages/order/remittenceWait/RemittanceWaitPage"; import OrderDetailsPage from "../pages/order/orderDetails/OrderDetailsPage"; import RemittancePage from "../pages/order/remittance/RemittancePage"; +import BookmarkPage from "../pages/bookmark/BookmarkPage"; // AuthGuard로 래핑하는 헬퍼 함수 const withAuth = (Component: React.ComponentType) => ( @@ -46,6 +47,15 @@ const Router = () => { {/* */} + + + {/* QR 코드 접속 페이지 - 인증 불필요 (일반적인 경로 나중에) */} @@ -73,31 +83,6 @@ const Router = () => { path="/:storeId/orderDetails" element={withTransition(OrderDetailsPage)} /> - {/* 보호된 라우트 - 인증 필요 */} - - - } /> - } /> - } - /> - } - /> - } - /> - } /> - - - } - /> ); };