From a1ca9751418b7c1eb80359c7041bd755516cb921 Mon Sep 17 00:00:00 2001 From: Minhyung Cho Date: Fri, 19 Sep 2025 22:26:11 +0900 Subject: [PATCH 1/6] =?UTF-8?q?feat=20:=20=EC=9D=B8=ED=84=B0=EB=B7=B0=20?= =?UTF-8?q?=EB=B3=B4=EA=B3=A0=EC=84=9C=20=ED=83=80=EC=9E=85=EC=97=90=20Int?= =?UTF-8?q?erviewMode=20=EB=B0=8F=20RootQuestionReferenceAnswer=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/types/src/reports/index.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/packages/types/src/reports/index.ts b/packages/types/src/reports/index.ts index 9ac908bf..202dfbf6 100644 --- a/packages/types/src/reports/index.ts +++ b/packages/types/src/reports/index.ts @@ -1,3 +1,5 @@ +import { InterviewMode } from "../interviews"; + interface PrivateFeedback { question_id: number; answer_id: number; @@ -9,6 +11,12 @@ interface PrivateFeedback { submitted_answer_memo_content: string; answer_memo_visibility: "PUBLIC" | "PRIVATE" | "FRIENDS"; } +interface RootQuestionReferenceAnswer { + nickname: string; + interview_id: number; + answer_content: string; + answer_rank: string; +} interface InterviewReport { feedbacks: PrivateFeedback[]; total_feedback: string; @@ -17,6 +25,8 @@ interface InterviewReport { user_prev_score: number; user_cur_rank: string; user_prev_rank: string; + interview_mode: InterviewMode; + root_question_reference_answers: RootQuestionReferenceAnswer[]; } type AnswerMemo = { From b90e6ed174c4e3f4a0effcb489ba3789bb263fb5 Mon Sep 17 00:00:00 2001 From: Minhyung Cho Date: Fri, 19 Sep 2025 22:26:44 +0900 Subject: [PATCH 2/6] =?UTF-8?q?feat=20:=20=EC=9D=B8=ED=84=B0=EB=B7=B0=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=9D=98=20UI?= =?UTF-8?q?=20=EA=B0=9C=EC=84=A0=20=EB=B0=8F=20=EC=A0=90=EC=88=98=20?= =?UTF-8?q?=EC=84=B9=EC=85=98=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8,=20?= =?UTF-8?q?=EC=B0=B8=EA=B3=A0=20=EC=9D=B8=ED=84=B0=EB=B7=B0=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/interviews/[interviewId]/result.tsx | 212 +++++++++++------- 1 file changed, 133 insertions(+), 79 deletions(-) diff --git a/apps/client/src/pages/interviews/[interviewId]/result.tsx b/apps/client/src/pages/interviews/[interviewId]/result.tsx index 0dada63b..b70bf3cf 100644 --- a/apps/client/src/pages/interviews/[interviewId]/result.tsx +++ b/apps/client/src/pages/interviews/[interviewId]/result.tsx @@ -7,23 +7,17 @@ import { InferGetServerSidePropsType } from "next"; import { ParsedUrlQuery } from "querystring"; -import { Layout } from "@kokomen/ui"; +import { Layout, Score } from "@kokomen/ui"; import { Button } from "@kokomen/ui"; import { useRouter } from "next/router"; import { JSX } from "react"; import Header from "@/shared/header"; -import { - Trophy, - TrendingUp, - TrendingDown, - Home, - Star, - Target -} from "lucide-react"; +import { Trophy, TrendingUp, TrendingDown, Home, Target } from "lucide-react"; import { withCheckInServer } from "@/utils/auth"; import { getUserInfo } from "@/domains/auth/api"; import { SEO } from "@/shared/seo"; import { UserInfo } from "@kokomen/types"; +import Link from "next/link"; export default function MyInterviewResultPage({ report, @@ -36,6 +30,15 @@ export default function MyInterviewResultPage({ const handleGoHome = () => { navigate.push({ pathname: "/" }); }; + report.root_question_reference_answers = [ + { + answer_content: + "안녕하세용오오안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이하세용오오안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이이하세용오오안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이안녕하세용오오이이이", + interview_id: 1, + nickname: "오이오이오이오이", + answer_rank: "A" + } + ]; return ( <> @@ -48,7 +51,7 @@ export default function MyInterviewResultPage({
-
+
{/* 헤더 섹션 */}
@@ -63,98 +66,149 @@ export default function MyInterviewResultPage({
{/* 최종 점수 섹션 */} -
-

- - 최종 점수 -

-
-
-

- 이전 점수 -

-
- {report.user_prev_score} +
+
+

+
+ 최종 점수 +

+
+
+
+
+

+ 이전 점수 +

+
+ {report.user_prev_score} +
+
+
+
+ {isScoreImproved ? ( + + ) : ( + + )} +
+
+

+ 현재 점수 +

+
+ {report.user_cur_score} +
-
-
-
- {isScoreImproved ? ( - - ) : ( - - )}
-

- 현재 점수 -

-
- {report.user_cur_score} +
+ {isScoreImproved ? ( + + ) : ( + + )} + {isScoreImproved ? "+" : ""} + {scoreDiff}점
-
-
- {isScoreImproved ? ( - - ) : ( - +
+ + {report.root_question_reference_answers.length > 0 && ( +
+
+

+
+ 참고하기 좋은 인터뷰 +

+
+
+ {report.root_question_reference_answers.map( + (reference, idx) => ( +
+
+
+ + {reference.nickname} + + +
+ + 자세히 보기 → + +
+
+ {reference.answer_content} +
+
+ ) )} - {isScoreImproved ? "+" : ""} - {scoreDiff}점
-
-
+
+ )} {/* 보완할 점 섹션 */} -
-

-
- 보완할 점 -

-
-

- {report.total_feedback} -

-
- - - - 총점: {report.total_score}점 - - +
+
+

+
+ 보완할 점 +

+
+
+
+

+ {report.total_feedback} +

+
+
+ + + 총점: {report.total_score}점 + +
+
-
+ {/* 피드백 섹션 */} -
-

-
- 각 항목별 피드백 -

- -
+
+
+

+
각 + 항목별 피드백 +

+
+
+ +
+
{/* 홈으로 버튼 */} -
+
-
+
From 7b1df4a1dc48d8b5210b2da39fc2a005ab3f7dee Mon Sep 17 00:00:00 2001 From: Minhyung Cho Date: Fri, 19 Sep 2025 22:26:50 +0900 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20=EC=9D=B8=ED=84=B0=EB=B7=B0=20?= =?UTF-8?q?=EB=B3=B4=EA=B3=A0=EC=84=9C=20UI=20=EA=B0=9C=EC=84=A0=20?= =?UTF-8?q?=EB=B0=8F=20=ED=8C=A8=ED=82=A4=EC=A7=80=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/package.json | 2 +- .../interviewReport/components/answerMemo.tsx | 3 ++- .../components/feedbackAccordion.tsx | 24 ++++++++++--------- .../ui/src/components/accordion/index.tsx | 8 +------ 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/apps/client/package.json b/apps/client/package.json index be9a72e3..b2e89db1 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -5,7 +5,7 @@ "private": true, "main": "dist/packages/nextjs/src/index.js", "scripts": { - "dev": "next dev", + "dev": "next dev --experimental-https", "build": "next build --experimental-debug-memory-usage", "start": "next start", "analyze": "ANALYZE=true next build", diff --git a/apps/client/src/domains/interviewReport/components/answerMemo.tsx b/apps/client/src/domains/interviewReport/components/answerMemo.tsx index 72038862..3e2ea8e7 100644 --- a/apps/client/src/domains/interviewReport/components/answerMemo.tsx +++ b/apps/client/src/domains/interviewReport/components/answerMemo.tsx @@ -81,9 +81,10 @@ export default function AnswerMemoComponent({

) : ( -
+

보완이 필요하거나 학습한 내용을 메모해 보세요.