Skip to content

Commit 422b45c

Browse files
authored
fix: jlpt 성적 표시 레벨 형식 정규화 (#462)
1 parent 4133381 commit 422b45c

File tree

3 files changed

+33
-4
lines changed

3 files changed

+33
-4
lines changed

apps/web/src/app/university/application/apply/LanguageStep.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import ScoreCard from "@/app/university/score/ScoreCard";
55
import TextModal from "@/components/modal/TextModal";
66
import Tab from "@/components/ui/Tab";
77
import { toast } from "@/lib/zustand/useToastStore";
8-
import { type LanguageTestScore, languageTestScoreInfo, ScoreSubmitStatus } from "@/types/score";
8+
import { formatLanguageTestScoreWithMax, type LanguageTestScore, ScoreSubmitStatus } from "@/types/score";
99
import ApplicationBottomActionBar from "../_components/ApplicationBottomActionBar";
1010
import ApplicationSectionTitle from "../_components/ApplicationSectionTitle";
1111

@@ -57,7 +57,10 @@ const LanguageStep = ({
5757
<ScoreCard
5858
key={score.id}
5959
name={score.languageTestResponse.languageTestType}
60-
score={`${score.languageTestResponse.languageTestScore}/${languageTestScoreInfo[score.languageTestResponse.languageTestType].max}`}
60+
score={formatLanguageTestScoreWithMax(
61+
score.languageTestResponse.languageTestType,
62+
score.languageTestResponse.languageTestScore,
63+
)}
6164
status={score.verifyStatus}
6265
// date={new Date(score.issueDate).toISOString()}
6366
date="2025-01-01"

apps/web/src/app/university/score/submit/language-test/LanguageTestSubmitForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import SubmitLinkTab from "@/components/score/SubmitLinkTab";
1313
import SubmitResult, { type InfoRowProps } from "@/components/score/SubmitResult";
1414
import CloudSpinnerPage from "@/components/ui/CloudSpinnerPage";
1515
import { toast } from "@/lib/zustand/useToastStore";
16-
import { LanguageTestEnum, languageTestScoreInfo } from "@/types/score";
16+
import { formatLanguageTestScoreWithMax, LanguageTestEnum, languageTestScoreInfo } from "@/types/score";
1717
import { type LanguageTestFormData, languageTestSchema } from "./_lib/schema";
1818

1919
const LanguageTestSubmitForm = () => {
@@ -67,7 +67,7 @@ const LanguageTestSubmitForm = () => {
6767
{
6868
label: "공인어학",
6969
status: submittedTestInfo.label,
70-
details: `${submittedData.score}/${submittedTestInfo.max}`,
70+
details: formatLanguageTestScoreWithMax(submittedData.testType, submittedData.score),
7171
},
7272
{
7373
label: "어학증명서",

apps/web/src/types/score.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,32 @@ export const languageTestShortMapping: Record<LanguageTestEnum, string> = {
6565
DUOLINGO: "DUOLINGO",
6666
};
6767

68+
const jlptLevelMapping: Record<string, string> = {
69+
"1": "N1",
70+
"2": "N2",
71+
"3": "N3",
72+
"4": "N4",
73+
"5": "N5",
74+
};
75+
76+
export const formatLanguageTestScore = (testType: LanguageTestEnum, score: string) => {
77+
if (testType === LanguageTestEnum.JLPT) {
78+
return jlptLevelMapping[score] ?? score;
79+
}
80+
81+
return score;
82+
};
83+
84+
export const formatLanguageTestScoreWithMax = (testType: LanguageTestEnum, score: string) => {
85+
const formattedScore = formatLanguageTestScore(testType, score);
86+
87+
if (testType === LanguageTestEnum.JLPT) {
88+
return formattedScore;
89+
}
90+
91+
return `${formattedScore}/${languageTestScoreInfo[testType].max}`;
92+
};
93+
6894
export interface SubmitGpaScoreRequest {
6995
gpaScoreRequest: {
7096
gpa: number;

0 commit comments

Comments
 (0)