diff --git a/src/app/survey-sale/basic-info/page.tsx b/src/app/survey-sale/basic-info/page.tsx
index 20cbeb8..3df482f 100644
--- a/src/app/survey-sale/basic-info/page.tsx
+++ b/src/app/survey-sale/basic-info/page.tsx
@@ -1,6 +1,16 @@
+'use client'
+
+import { useEffect } from 'react'
+import { useSurveySaleTabState } from '@/store/surveySaleTabState'
import BasicForm from '@/components/survey-sale/detail/BasicForm'
export default function page() {
+ const { setBasicInfoSelected } = useSurveySaleTabState()
+
+ useEffect(() => {
+ setBasicInfoSelected()
+ }, [])
+
return (
<>
diff --git a/src/app/survey-sale/roof-info/page.tsx b/src/app/survey-sale/roof-info/page.tsx
index 2bdfea5..b0a1b98 100644
--- a/src/app/survey-sale/roof-info/page.tsx
+++ b/src/app/survey-sale/roof-info/page.tsx
@@ -1,6 +1,16 @@
+'use client'
+
+import { useEffect } from 'react'
+import { useSurveySaleTabState } from '@/store/surveySaleTabState'
import RoofInfoForm from '@/components/survey-sale/detail/RoofInfoForm'
export default function page() {
+ const { setRoofInfoSelected } = useSurveySaleTabState()
+
+ useEffect(() => {
+ setRoofInfoSelected()
+ }, [])
+
return (
<>
diff --git a/src/components/survey-sale/common/NavTab.tsx b/src/components/survey-sale/common/NavTab.tsx
index 7d763cc..8029afd 100644
--- a/src/components/survey-sale/common/NavTab.tsx
+++ b/src/components/survey-sale/common/NavTab.tsx
@@ -1,21 +1,44 @@
'use client'
-import { usePathname } from 'next/navigation'
+import { useSurveySaleTabState } from '@/store/surveySaleTabState'
+import { usePathname, useRouter } from 'next/navigation'
+import { useEffect } from 'react'
export default function NavTab() {
+ const router = useRouter()
const pathname = usePathname()
if (pathname === '/survey-sale') {
return null
}
+ const { basicInfoSelected, roofInfoSelected, reset } = useSurveySaleTabState()
+
+ useEffect(() => {
+ return () => {
+ reset()
+ }
+ }, [])
+
+ const handleBasicInfoClick = () => {
+ router.push('/survey-sale/basic-info')
+ }
+
+ const handleRoofInfoClick = () => {
+ router.push('/survey-sale/roof-info')
+ }
+
return (
<>
-
-
+
+
diff --git a/src/components/ui/common/Header.tsx b/src/components/ui/common/Header.tsx
index 4a6056f..5c44695 100644
--- a/src/components/ui/common/Header.tsx
+++ b/src/components/ui/common/Header.tsx
@@ -3,7 +3,7 @@
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'
@@ -17,6 +17,7 @@ import 'swiper/css'
// }
export default function Header({ name }: HeaderProps) {
+ const router = useRouter()
const pathname = usePathname()
const [headerAct, setHeaderAct] = useState(false)
const [isShowBackBtn, setIsShowBackBtn] = useState(false)
@@ -38,7 +39,7 @@ export default function Header({ name }: HeaderProps) {
{isShowBackBtn && (
-
+
)}
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),
+}))