diff --git a/src/components/Navbar/navbar.client.tsx b/src/components/Navbar/navbar.client.tsx index 7a06bb3..b892fc2 100644 --- a/src/components/Navbar/navbar.client.tsx +++ b/src/components/Navbar/navbar.client.tsx @@ -6,6 +6,7 @@ import Link from "next/link"; import { checkUserStatus, getStock } from "@/services/userStock-service"; import { useAuthStore } from "@/stores/authStore"; import Image from "next/image"; +import { TutorialOverlay } from "../blocks/Tutorial/TutorialPopup.client"; const menuItems = [ { label: "홈", href: "/" }, @@ -21,6 +22,11 @@ export default function Navbar() { const auth = useAuthStore((s) => s.auth); const clearAuth = useAuthStore((s) => s.clearAuth); const loginRequiredPaths = ["/", "/practice", "/ranking", "/mypage"]; + const [showTutorial, setShowTutorial] = useState(false); + const handleCloseTutorial = () => { + localStorage.setItem("hideTutorial", "true"); + setShowTutorial(false); + }; // hydration mismatch 방지용 const [mounted, setMounted] = useState(false); @@ -162,9 +168,17 @@ export default function Navbar() { })} - {/* 로그인/로그아웃 버튼 */} + {/* 튜토리얼, 로그인/로그아웃 버튼 */}
+ {mounted ? ( auth?.token ? (
+ {showTutorial && } ); } diff --git a/src/components/blocks/Tutorial/TutorialPopup.client.tsx b/src/components/blocks/Tutorial/TutorialPopup.client.tsx index edd8bbe..b397fbb 100644 --- a/src/components/blocks/Tutorial/TutorialPopup.client.tsx +++ b/src/components/blocks/Tutorial/TutorialPopup.client.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import MainHomeClient from "../MainHome/MainHome.client"; import { useRouter } from "next/navigation"; -function TutorialOverlay({ onClose }) { +export function TutorialOverlay({ onClose }) { const [index, setIndex] = useState(0); const images = [ "/tuto1.png",