Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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);
Expand All @@ -17,6 +19,16 @@ const HomeHeader = () => {
setIsMenuOpen(false);
};

const handleBookmarkClick = () => {
closeMenu();
navigate("/bookmark");
};

const handleHomeClick = () => {
closeMenu();
navigate("/");
};

return (
<>
<div className="flex justify-between items-center py-4">
Expand Down Expand Up @@ -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"
>
Expand All @@ -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"
>
마이페이지
북마크
</motion.button>
</nav>
</div>
Expand Down
13 changes: 13 additions & 0 deletions apps/nowait-user/src/pages/bookmark/BookmarkPage.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import HomeHeader from "../../components/Header";

const BookmarkPage = () => {
return (
<div className="flex flex-col gap-5 px-5">
<div className="flex">
<HomeHeader />
</div>
</div>
);
};

export default BookmarkPage;
2 changes: 1 addition & 1 deletion apps/nowait-user/src/pages/home/HomePage.tsx
Original file line number Diff line number Diff line change
@@ -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";
Expand Down
35 changes: 10 additions & 25 deletions apps/nowait-user/src/routes/Router.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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) => (
Expand Down Expand Up @@ -46,6 +47,15 @@ const Router = () => {
{/* <Route path="/store/:id/reserve" element={withAuth(StoreReservePage)} /> */}
<Route path="/store/:id" element={withAuth(StoreDetailPage)} />
<Route path="/map" element={withAuth(MapPage)} />
<Route path="/bookmark" element={withAuth(BookmarkPage)} />
<Route
path="/store/:id/partysize"
element={withAuth(WaitingPartySizeForm)}
/>
<Route
path="/store/:id/waitingsummary"
element={withAuth(WaitingSummaryPage)}
/>
<Route path="/" element={withAuth(HomePage)} />

{/* QR 코드 접속 페이지 - 인증 불필요 (일반적인 경로 나중에) */}
Expand Down Expand Up @@ -73,31 +83,6 @@ const Router = () => {
path="/:storeId/orderDetails"
element={withTransition(OrderDetailsPage)}
/>
{/* 보호된 라우트 - 인증 필요 */}
<Route
path="/*"
element={
<AuthGuard>
<Routes>
<Route path="/" element={<HomePage />} />
<Route path="/store/:id" element={<StoreDetailPage />} />
<Route
path="/store/:id/partysize"
element={<WaitingPartySizeForm />}
/>
<Route
path="/store/:id/waitingsummary"
element={<WaitingSummaryPage />}
/>
<Route
path="/store/:id/waiting/success"
element={<WaitingSuccessPage />}
/>
<Route path="/map" element={<MapPage />} />
</Routes>
</AuthGuard>
}
/>
</Routes>
);
};
Expand Down