From ec956030d5d3f2ba478a7afc75722466b14d798f Mon Sep 17 00:00:00 2001 From: seongwon seo Date: Sun, 22 Feb 2026 17:35:31 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20React=20import=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tabs/ApplicantsTab/ApplicantsListTab/ApplicantsListTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantsListTab/ApplicantsListTab.tsx b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantsListTab/ApplicantsListTab.tsx index 4dc3ddeac..30a820207 100644 --- a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantsListTab/ApplicantsListTab.tsx +++ b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantsListTab/ApplicantsListTab.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import styled from 'styled-components'; import expandArrow from '@/assets/images/icons/ExpandArrow.svg'; From 82c93ef761a628e4d95c41620bf457af91dd15a3 Mon Sep 17 00:00:00 2001 From: seongwon seo Date: Sun, 22 Feb 2026 17:36:03 +0900 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20useMemo=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx index 39f46ca0a..9682a81c8 100644 --- a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx +++ b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx @@ -1,4 +1,4 @@ -import React, { useEffect, useMemo, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { useNavigate, useParams } from 'react-router-dom'; import NextApplicantButton from '@/assets/images/icons/next_applicant.svg'; import PrevApplicantButton from '@/assets/images/icons/prev_applicant.svg'; From 244f221d25088d0f36bbb4104ece921c22d969ea Mon Sep 17 00:00:00 2001 From: seongwon seo Date: Sun, 22 Feb 2026 17:37:39 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20form=20=ED=9B=84=ED=96=89=EC=8A=AC?= =?UTF-8?q?=EB=9E=98=EC=8B=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/AdminPage/validation/validateApplicationForm.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/AdminPage/validation/validateApplicationForm.ts b/frontend/src/pages/AdminPage/validation/validateApplicationForm.ts index 34a725a80..63e017b15 100644 --- a/frontend/src/pages/AdminPage/validation/validateApplicationForm.ts +++ b/frontend/src/pages/AdminPage/validation/validateApplicationForm.ts @@ -2,7 +2,7 @@ import { ApplicationFormData, ApplicationFormMode } from '@/types/application'; const ALLOWED_EXTERNAL_URLS = [ 'https://forms.gle/', - 'https://docs.google.com/forms', + 'https://docs.google.com/forms/', 'https://form.naver.com/', 'https://naver.me/', 'https://everytime.kr/', From fd39f36ac0f2b806c9899a246992df419b471deb Mon Sep 17 00:00:00 2001 From: seongwon seo Date: Sun, 22 Feb 2026 17:43:01 +0900 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20status=20=EA=B2=80=EC=A6=9D?= =?UTF-8?q?=EC=9D=84=20handleStatusChange=EB=A1=9C=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApplicantDetailPage/ApplicantDetailPage.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx index 9682a81c8..099c2b04c 100644 --- a/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx +++ b/frontend/src/pages/AdminPage/tabs/ApplicantsTab/ApplicantDetailPage/ApplicantDetailPage.tsx @@ -79,8 +79,7 @@ const ApplicantDetailPage = () => { }, [applicant, applicant?.status, applicant?.memo]); const updateApplicantDetail = (memo: string, status: ApplicationStatus) => { - if (typeof memo !== 'string') return; - if (!isApplicationStatus(status)) return; + if (!questionId) return; updateApplicant( [ @@ -125,9 +124,10 @@ const ApplicantDetailPage = () => { }; const handleStatusChange = (e: React.ChangeEvent) => { - const newStatus = e.target.value as ApplicationStatus; - setApplicantStatus(newStatus); - updateApplicantDetail(applicantMemo, newStatus); + const rawStatus = e.target.value; + if (!isApplicationStatus(rawStatus)) return; + setApplicantStatus(rawStatus); + updateApplicantDetail(applicantMemo, rawStatus); }; const previousApplicant = () => {