Skip to content

Commit d8771cd

Browse files
committed
fix: 회원가입 뒤로가기 오류 수정4
1 parent fea0cc6 commit d8771cd

File tree

4 files changed

+26
-29
lines changed

4 files changed

+26
-29
lines changed

src/app/signup/page.tsx

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ const SignupPage: React.FC = () => {
3333
const { isLoggedIn } = useAuthStore();
3434

3535
const { setOpen, setModalType } = useModalStore();
36+
const [popstateActive, setPopstateActive] = useState(false);
3637

3738
useEffect(() => {
3839
if (isLoggedIn) {
@@ -66,11 +67,6 @@ const SignupPage: React.FC = () => {
6667

6768
const handleNext = () => {
6869
setCurrentStep((prev) => prev + 1);
69-
// window.history.pushState(
70-
// { step: currentStep + 1 },
71-
// '',
72-
// `/signup?step=${currentStep + 1}`
73-
// );
7470
};
7571

7672
const handleUpdate = (data: Partial<typeof formData>) => {
@@ -110,11 +106,11 @@ const SignupPage: React.FC = () => {
110106
}
111107
};
112108

113-
useEffect(() => {
114-
const searchParams = new URLSearchParams(window.location.search);
115-
const stepFromUrl = parseInt(searchParams.get('step') || '1', 10);
116-
setCurrentStep(stepFromUrl);
117-
}, []);
109+
useEffect(() => {
110+
const searchParams = new URLSearchParams(window.location.search);
111+
const stepFromUrl = parseInt(searchParams.get('step') || '1', 10);
112+
setCurrentStep(stepFromUrl);
113+
}, []);
118114

119115
useEffect(() => {
120116
const handleBeforeUnload = (e: BeforeUnloadEvent) => {
@@ -138,12 +134,10 @@ useEffect(() => {
138134
}, []);
139135

140136
useEffect(() => {
141-
const handlePopState = (event: PopStateEvent) => {
142-
const step = event.state?.step || 1;
143-
if (step < currentStep) {
144-
setCurrentStep(step);
145-
} else {
146-
router.back();
137+
const handlePopState = (e: PopStateEvent) => {
138+
if (!popstateActive) {
139+
setModalType('cancelSignup'); // 'cancelSignup' 모달 열기
140+
setOpen(true); // 모달 표시
147141
}
148142
};
149143

@@ -152,7 +146,7 @@ useEffect(() => {
152146
return () => {
153147
window.removeEventListener('popstate', handlePopState);
154148
};
155-
}, [currentStep, router]);
149+
}, [popstateActive, setModalType, setOpen]);
156150

157151
return (
158152
<>

src/components/signup/Step3.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,11 @@ const Step3: React.FC<StepProps> = ({ onNext, onUpdate, email }) => {
6161
priority
6262
blurDataURL="/sign/LeftArrowIcon.svg"
6363
className="cursor-pointer"
64-
onClick={() => {
65-
setModalType('cancelSignup');
66-
setOpen(true);
67-
}}
64+
// onClick={() => {
65+
// setModalType('cancelSignup');
66+
// setOpen(true);
67+
// }}
68+
onClick={() => router.back()}
6869
/>
6970
</div>
7071

src/components/signup/Step4.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,11 @@ const Step4: React.FC<StepProps> = ({ onNext, onUpdate }) => {
121121
priority
122122
blurDataURL="/sign/LeftArrowIcon.svg"
123123
className="cursor-pointer"
124-
onClick={() => {
125-
setModalType('cancelSignup');
126-
setOpen(true);
127-
}}
124+
// onClick={() => {
125+
// setModalType('cancelSignup');
126+
// setOpen(true);
127+
// }}
128+
onClick={() => router.back()}
128129
/>
129130
</div>
130131

src/components/signup/modal/EmailVerification.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,11 @@ const EmailVerification: React.FC<EmailVerificationProps> = ({ onNext, onEmailCh
157157
priority
158158
blurDataURL="/sign/LeftArrowIcon.svg"
159159
className="cursor-pointer"
160-
onClick={() => {
161-
setModalType('cancelSignup');
162-
setOpen(true);
163-
}}
160+
// onClick={() => {
161+
// setModalType('cancelSignup');
162+
// setOpen(true);
163+
// }}
164+
onClick={() => router.back()}
164165
/>
165166
</div>
166167

0 commit comments

Comments
 (0)