Skip to content

Commit a51ffbb

Browse files
authored
Merge pull request #263 from MBTips/bug/mbti-test-result-페이지-공유-안되는-문제-해결-건
fix: Mbti test result 페이지에서 공유하기했을 때 url에 mbti가 들어갈 수 있도록 변경
2 parents 6f4c253 + b0bf6ec commit a51ffbb

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ const App = () => {
118118
<Route path="/kakao-login" element={<KaKaoLogin />} />
119119
<Route path="/mbti-test" element={<MbtiTestIntro />} />
120120
<Route path="/mbti-test-progress" element={<MbtiTestQuestions />} />
121-
<Route path="/mbti-test-result" element={<MbtiTestResult />} />
121+
<Route path="/mbti-test-result/:mbti" element={<MbtiTestResult />} />
122122
<Route path="*" element={<Error statusCode="500" />} />
123123
</Routes>
124124
</CenteredLayout>

src/pages/MbtiTestResult.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ import RestartButton from "@/components/button/RestartButton";
44
import ChatStartButton from "@/components/button/ChatStartButton";
55
import useLayoutSize from "@/hooks/useLayoutSize";
66
import Header from "@/components/header/Header";
7+
import { useParams } from "react-router-dom";
78

89
const MbtiTestResult = () => {
9-
const mbti = localStorage.getItem("mbti-test-mbti") ?? "";
10+
const { mbti } = useParams();
1011
const result = MBTI_RESULT_INFO[mbti as keyof typeof MBTI_RESULT_INFO];
1112
const size = useLayoutSize();
1213
const imageURL =

src/store/useMbtiTestState.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ type PageNumber = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
55
interface MbtiTestState {
66
currentPage: PageNumber;
77
currentMbti: string;
8+
pageIsCompleted: Record<PageNumber, boolean>;
89
mbtiLog: Record<string, number>;
910
setNextStep: () => void;
1011
setPreviousStep: () => void;
@@ -18,6 +19,20 @@ interface MbtiTestState {
1819
const useMbtiTestState = create<MbtiTestState>((set, get) => ({
1920
currentPage: 1,
2021
currentMbti: "",
22+
pageIsCompleted: {
23+
1: false,
24+
2: false,
25+
3: false,
26+
4: false,
27+
5: false,
28+
6: false,
29+
7: false,
30+
8: false,
31+
9: false,
32+
10: false,
33+
11: false,
34+
12: false
35+
},
2136
mbtiLog: {
2237
E: 0,
2338
I: 0,
@@ -30,14 +45,16 @@ const useMbtiTestState = create<MbtiTestState>((set, get) => ({
3045
},
3146
setNextStep: () => {
3247
const currentPage = get().currentPage;
48+
const currentMbti = get().currentMbti;
3349
const setPageComplete = get().setPageComplete;
3450

3551
setPageComplete(currentPage); // 현재 페이지를 완료로 설정
3652

3753
// 마지막 페이지라면 결과 페이지로 이동
3854
if (currentPage === 12) {
3955
get().getMbtiByLog();
40-
if (get().currentMbti !== "") window.location.href = "/mbti-test-result";
56+
if (currentMbti !== "")
57+
window.location.href = `/mbti-test-result/${currentMbti}`;
4158
else console.error("mbti가 비어있습니다.");
4259
} else {
4360
// 그렇지 않다면 페이지를 증가시킴

0 commit comments

Comments
 (0)