-
diff --git a/src/components/survey-sale/detail/BasicForm.tsx b/src/components/survey-sale/detail/BasicForm.tsx
index 2f74673..8eba9e3 100644
--- a/src/components/survey-sale/detail/BasicForm.tsx
+++ b/src/components/survey-sale/detail/BasicForm.tsx
@@ -4,6 +4,7 @@ import { useServey } from '@/hooks/useSurvey'
import { SurveyBasicRequest } from '@/types/Survey'
import { useRouter, useSearchParams } from 'next/navigation'
import { useState, useEffect } from 'react'
+import { useSurveySaleTabState } from '@/store/surveySaleTabState'
const defaultBasicInfoForm: SurveyBasicRequest = {
representative: '',
@@ -53,6 +54,12 @@ export default function BasicForm() {
return
Loading...
}
+ const { setBasicInfoSelected } = useSurveySaleTabState()
+
+ useEffect(() => {
+ setBasicInfoSelected()
+ }, [])
+
return (
<>
diff --git a/src/components/survey-sale/detail/RoofInfoForm.tsx b/src/components/survey-sale/detail/RoofInfoForm.tsx
index eaa49fc..6d425cc 100644
--- a/src/components/survey-sale/detail/RoofInfoForm.tsx
+++ b/src/components/survey-sale/detail/RoofInfoForm.tsx
@@ -1,5 +1,8 @@
'use client'
+import { useEffect } from 'react'
+import { useSurveySaleTabState } from '@/store/surveySaleTabState'
+
import { useServey } from '@/hooks/useSurvey'
import { SurveyDetailRequest } from '@/types/Survey'
import { useRouter, useSearchParams } from 'next/navigation'
@@ -44,6 +47,12 @@ const defaultDetailInfoForm: SurveyDetailRequest = {
}
export default function RoofInfoForm() {
+ const { setRoofInfoSelected } = useSurveySaleTabState()
+
+ useEffect(() => {
+ setRoofInfoSelected()
+ }, [])
+
const router = useRouter()
const searchParams = useSearchParams()
const id = searchParams.get('id')
diff --git a/src/components/ui/Main.tsx b/src/components/ui/Main.tsx
index 2b20646..a9eb336 100644
--- a/src/components/ui/Main.tsx
+++ b/src/components/ui/Main.tsx
@@ -1,10 +1,13 @@
'use client'
import { useHeaderStore } from '@/store/header'
+import { useRouter } from 'next/navigation'
import { useEffect } from 'react'
export default function Main() {
+ const router = useRouter()
const { setBackBtn } = useHeaderStore()
+
useEffect(() => {
setBackBtn(false)
}, [])
@@ -27,7 +30,7 @@ export default function Main() {
-
+
router.push('/survey-sale')}>
調査物件一覧
@@ -39,7 +42,7 @@ export default function Main() {
-
+
router.push('/survey-sale/basic-info')}>
調査物件登録
@@ -51,7 +54,7 @@ export default function Main() {
-
+
router.push('/inquiry/list')}>
1:1お問い合わせ リスト
@@ -63,7 +66,7 @@ export default function Main() {
-
+
router.push('/inquiry/regist')}>
1:1問い合わせ登録
diff --git a/src/components/ui/common/Header.tsx b/src/components/ui/common/Header.tsx
index 4a6056f..580545d 100644
--- a/src/components/ui/common/Header.tsx
+++ b/src/components/ui/common/Header.tsx
@@ -3,13 +3,14 @@
import { useEffect, useState } from 'react'
import Link from 'next/link'
-import { usePathname } from 'next/navigation'
+import { usePathname, useRouter } from 'next/navigation'
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 이름
@@ -17,8 +18,9 @@ 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') {
@@ -29,6 +31,8 @@ export default function Header({ name }: HeaderProps) {
if (pathname !== '/') {
setIsShowBackBtn(true)
}
+ //사이드바 초기화
+ reset()
}, [pathname])
return (
@@ -38,17 +42,17 @@ export default function Header({ name }: HeaderProps) {
{isShowBackBtn && (
-
+ router.back()}>
)}
- {name}
+ {name}
- setHeaderAct(true)}>
+ setSideNavIsOpen(true)}>
-
+
@@ -61,7 +65,7 @@ export default function Header({ name }: HeaderProps) {
- setHeaderAct(false)}>
+ setSideNavIsOpen(false)}>
@@ -89,16 +93,16 @@ 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),
+}))
diff --git a/src/store/surveySaleTabState.ts b/src/store/surveySaleTabState.ts
new file mode 100644
index 0000000..f0ab766
--- /dev/null
+++ b/src/store/surveySaleTabState.ts
@@ -0,0 +1,26 @@
+import { create } from 'zustand'
+
+type SurveySaleTabState = {
+ basicInfoSelected: boolean
+ roofInfoSelected: boolean
+ setBasicInfoSelected: () => void
+ setRoofInfoSelected: () => void
+ reset: () => void
+}
+
+type InitialState = {
+ basicInfoSelected: boolean
+ roofInfoSelected: boolean
+}
+
+const initialState: InitialState = {
+ basicInfoSelected: true,
+ roofInfoSelected: false,
+}
+
+export const useSurveySaleTabState = create((set) => ({
+ ...initialState,
+ setBasicInfoSelected: () => set((state) => ({ ...state, basicInfoSelected: true, roofInfoSelected: false })),
+ setRoofInfoSelected: () => set((state) => ({ ...state, basicInfoSelected: false, roofInfoSelected: true })),
+ reset: () => set(initialState),
+}))