From 9308510db94238301cdf6084a860e1476e65907f Mon Sep 17 00:00:00 2001 From: whqtker Date: Sat, 1 Aug 2026 23:35:04 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=EC=A7=80=EC=9B=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=99=20=EA=B4=80=EB=A6=AC=20=EA=B2=80=EC=83=89=EC=97=90=20?= =?UTF-8?q?=EA=B5=AD=EB=82=B4=20=EB=8C=80=ED=95=99/=ED=95=99=EA=B8=B0=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EA=B0=80=20=EC=A0=81=EC=9A=A9=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EB=8D=98=20=EB=AC=B8=EC=A0=9C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit searchUnivApplyInfos가 검색어만 서버로 보내고 homeUniversityId/termId를 전달하지 않아, 서버가 항상 현재 학기 기준으로 응답했다. 응답을 다시 선택한 학기 라벨과 비교해 클라이언트에서 필터링하던 로직 때문에 현재 학기가 아닌 학기를 선택하면 결과가 있어도 화면에는 아무것도 표시되지 않았다. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EwpgqdNTrn8dGDr7g7WnYg --- .../tabs/UnivApplyInfoManageTab.tsx | 19 +++++++------------ apps/admin/src/lib/api/admin.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/apps/admin/src/components/features/univ-apply-infos/tabs/UnivApplyInfoManageTab.tsx b/apps/admin/src/components/features/univ-apply-infos/tabs/UnivApplyInfoManageTab.tsx index 5c313279..29cf32b3 100644 --- a/apps/admin/src/components/features/univ-apply-infos/tabs/UnivApplyInfoManageTab.tsx +++ b/apps/admin/src/components/features/univ-apply-infos/tabs/UnivApplyInfoManageTab.tsx @@ -78,7 +78,12 @@ export function UnivApplyInfoManageTab() { const searchResultQuery = useQuery({ queryKey: ["univ-apply-infos", "search", committedSearch], - queryFn: () => adminApi.searchUnivApplyInfos(committedSearch?.value), + queryFn: () => + adminApi.searchUnivApplyInfos({ + value: committedSearch?.value, + homeUniversityId: committedSearch?.homeUniversityId, + termId: committedSearch?.termId, + }), enabled: committedSearch !== null, }); @@ -210,17 +215,7 @@ export function UnivApplyInfoManageTab() { setCreateModal({ open: true }); }; - const selectedHomeUniversityName = committedSearch?.homeUniversityId - ? homeUniversitiesQuery.data?.find((university) => university.id === committedSearch.homeUniversityId)?.name - : undefined; - const selectedTermLabel = committedSearch?.termId - ? termsQuery.data?.find((term) => term.id === committedSearch.termId)?.label - : undefined; - const results = (searchResultQuery.data?.univApplyInfoPreviews ?? []).filter( - (item) => - (!committedSearch?.homeUniversityId || item.homeUniversityName === selectedHomeUniversityName) && - (!committedSearch?.termId || item.term === selectedTermLabel), - ); + const results = searchResultQuery.data?.univApplyInfoPreviews ?? []; const isMutating = deleteMutation.isPending || updateMutation.isPending || createMutation.isPending; return ( diff --git a/apps/admin/src/lib/api/admin.ts b/apps/admin/src/lib/api/admin.ts index b79fafe2..24f496f3 100644 --- a/apps/admin/src/lib/api/admin.ts +++ b/apps/admin/src/lib/api/admin.ts @@ -370,10 +370,14 @@ export const adminApi = { deleteUnivApplyInfo: (id: number) => axiosInstance.delete(`/admin/univ-apply-infos/${id}`).then((res) => res.data), - searchUnivApplyInfos: (value?: string) => + searchUnivApplyInfos: (params: { value?: string; homeUniversityId?: number; termId?: number }) => axiosInstance .get<{ univApplyInfoPreviews: UnivApplyInfoSearchResult[] }>("/univ-apply-infos/search/text", { - params: { value: value ?? "" }, + params: { + value: params.value ?? "", + homeUniversityId: params.homeUniversityId, + termId: params.termId, + }, }) .then((res) => res.data), };