diff --git a/src/components/ui/common/Header.tsx b/src/components/ui/common/Header.tsx index fb2b9da..580545d 100644 --- a/src/components/ui/common/Header.tsx +++ b/src/components/ui/common/Header.tsx @@ -10,6 +10,7 @@ import { Swiper, SwiperSlide } from 'swiper/react' import type { HeaderProps } from '@/types/Header' import 'swiper/css' +import { useSideNavState } from '@/store/sideNavState' // type HeaderProps = { // name: string //header 이름 @@ -19,7 +20,7 @@ import 'swiper/css' export default function Header({ name }: HeaderProps) { const router = useRouter() const pathname = usePathname() - const [headerAct, setHeaderAct] = useState(false) + const { sideNavIsOpen, setSideNavIsOpen, reset } = useSideNavState() const [isShowBackBtn, setIsShowBackBtn] = useState(false) if (pathname === '/login') { @@ -30,6 +31,8 @@ export default function Header({ name }: HeaderProps) { if (pathname !== '/') { setIsShowBackBtn(true) } + //사이드바 초기화 + reset() }, [pathname]) return ( @@ -43,13 +46,13 @@ export default function Header({ name }: HeaderProps) { )}

- {name} + {name}

- +
-
+
@@ -62,7 +65,7 @@ export default function Header({ name }: HeaderProps) {
- +
diff --git a/src/store/sideNavState.ts b/src/store/sideNavState.ts new file mode 100644 index 0000000..b283aeb --- /dev/null +++ b/src/store/sideNavState.ts @@ -0,0 +1,21 @@ +import { create } from 'zustand' + +type SideNavState = { + sideNavIsOpen: boolean + setSideNavIsOpen: (value: boolean) => void + reset: () => void +} + +type InitialState = { + sideNavIsOpen: boolean +} + +const initialState: InitialState = { + sideNavIsOpen: false, +} + +export const useSideNavState = create((set) => ({ + ...initialState, + setSideNavIsOpen: (value: boolean) => set((state) => ({ ...state, sideNavIsOpen: value })), + reset: () => set(initialState), +}))