From c3cf6e8097a08dd93a4b2724db23598c427a5659 Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 14 Sep 2025 15:00:11 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=ED=96=89=EC=A0=95=EB=8F=99=20=EC=9E=85=EB=A0=A5=20=EC=A0=9C?= =?UTF-8?q?=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/region/regionAPI.ts | 10 ++--- frontend/src/api/region/regionTypes.ts | 9 ----- frontend/src/pages/MyReservationPage.tsx | 2 +- frontend/src/pages/SignupPage.tsx | 48 ++---------------------- 4 files changed, 8 insertions(+), 61 deletions(-) diff --git a/frontend/src/api/region/regionAPI.ts b/frontend/src/api/region/regionAPI.ts index e9feec0e..7927bbfe 100644 --- a/frontend/src/api/region/regionAPI.ts +++ b/frontend/src/api/region/regionAPI.ts @@ -1,5 +1,5 @@ import apiClient from "@_api/apiClient"; -import type { DongListResponse, RegionCodeResponse, SidoListResponse, SigunguListResponse } from "./regionTypes"; +import type { RegionCodeResponse, SidoListResponse, SigunguListResponse } from "./regionTypes"; export const fetchSidoList = async (): Promise => { return await apiClient.get(`/regions/sido`); @@ -9,10 +9,6 @@ export const fetchSigunguList = async (sidoCode: string): Promise => { - return await apiClient.get(`/regions/dong?sidoCode=${sidoCode}&sigunguCode=${sigunguCode}`); -} - -export const fetchRegionCode = async (sidoCode: string, sigunguCode: string, dongCode: string): Promise => { - return await apiClient.get(`/regions/code?sidoCode=${sidoCode}&sigunguCode=${sigunguCode}&dongCode=${dongCode}`); +export const fetchRegionCode = async (sidoCode: string, sigunguCode: string): Promise => { + return await apiClient.get(`/regions/code?sidoCode=${sidoCode}&sigunguCode=${sigunguCode}`); } diff --git a/frontend/src/api/region/regionTypes.ts b/frontend/src/api/region/regionTypes.ts index 5fefdbdd..df351773 100644 --- a/frontend/src/api/region/regionTypes.ts +++ b/frontend/src/api/region/regionTypes.ts @@ -16,15 +16,6 @@ export interface SigunguListResponse { sigunguList: SigunguResponse[] } -export interface DongResponse { - code: string, - name: string, -} - -export interface DongListResponse { - dongList: DongResponse[] -} - export interface RegionCodeResponse { code: string } diff --git a/frontend/src/pages/MyReservationPage.tsx b/frontend/src/pages/MyReservationPage.tsx index ba07456b..24565bfc 100644 --- a/frontend/src/pages/MyReservationPage.tsx +++ b/frontend/src/pages/MyReservationPage.tsx @@ -325,7 +325,7 @@ const MyReservationPage: React.FC = () => { return (
-

내 예약 V2

+

내 예약

{isLoading &&

목록 로딩 중...

} {error &&

{error}

} diff --git a/frontend/src/pages/SignupPage.tsx b/frontend/src/pages/SignupPage.tsx index e4238cf5..ffb0198b 100644 --- a/frontend/src/pages/SignupPage.tsx +++ b/frontend/src/pages/SignupPage.tsx @@ -1,11 +1,9 @@ import { - fetchDongList, fetchRegionCode, fetchSidoList, fetchSigunguList, } from '@_api/region/regionAPI'; import type { - DongResponse, SidoResponse, SigunguResponse, } from '@_api/region/regionTypes'; @@ -27,10 +25,8 @@ const SignupPage: React.FC = () => { const [sidoList, setSidoList] = useState([]); const [sigunguList, setSigunguList] = useState([]); - const [dongList, setDongList] = useState([]); const [selectedSidoCode, setSelectedSidoCode] = useState(''); const [selectedSigunguCode, setSelectedSigunguCode] = useState(''); - const [selectedDongCode, setSelectedDongCode] = useState(''); const navigate = useNavigate(); @@ -52,9 +48,7 @@ const SignupPage: React.FC = () => { try { const response = await fetchSigunguList(selectedSidoCode); setSigunguList(response.sigunguList); - setDongList([]); setSelectedSigunguCode(''); - setSelectedDongCode(''); } catch (error) { console.error('시/군/구 목록을 불러오는 데 실패했습니다.', error); } @@ -62,30 +56,10 @@ const SignupPage: React.FC = () => { fetchSigungu(); } else { setSigunguList([]); - setDongList([]); setSelectedSigunguCode(''); - setSelectedDongCode(''); } }, [selectedSidoCode]); - useEffect(() => { - if (selectedSidoCode && selectedSigunguCode) { - const fetchDong = async () => { - try { - const response = await fetchDongList(selectedSidoCode, selectedSigunguCode); - setDongList(response.dongList); - setSelectedDongCode(''); - } catch (error) { - console.error('읍/면/동 목록을 불러오는 데 실패했습니다.', error); - } - }; - fetchDong(); - } else { - setDongList([]); - setSelectedDongCode(''); - } - }, [selectedSigunguCode]); - const validate = () => { const newErrors: Record = {}; @@ -106,8 +80,8 @@ const SignupPage: React.FC = () => { newErrors.phone = '올바른 휴대폰 번호 형식이 아닙니다. (예: 01012345678)'; } - if (selectedSidoCode || selectedSigunguCode || selectedDongCode) { - if (!selectedSidoCode || !selectedSigunguCode || !selectedDongCode) { + if (selectedSidoCode || selectedSigunguCode) { + if (!selectedSidoCode || !selectedSigunguCode) { newErrors.region = '모든 지역 정보를 선택해주세요.'; } } @@ -120,7 +94,7 @@ const SignupPage: React.FC = () => { if (hasSubmitted) { setErrors(validate()); } - }, [email, password, name, phone, hasSubmitted, selectedSidoCode, selectedSigunguCode, selectedDongCode]); + }, [email, password, name, phone, hasSubmitted, selectedSidoCode, selectedSigunguCode]); const handleSignup = async (e: React.FormEvent) => { e.preventDefault(); @@ -132,12 +106,11 @@ const SignupPage: React.FC = () => { if (Object.keys(newErrors).length > 0) return; let regionCode: string | null = null; - if (selectedSidoCode && selectedSigunguCode && selectedDongCode) { + if (selectedSidoCode && selectedSigunguCode) { try { const response = await fetchRegionCode( selectedSidoCode, selectedSigunguCode, - selectedDongCode ); regionCode = response.code; } catch (error) { @@ -253,19 +226,6 @@ const SignupPage: React.FC = () => { ))} -
{hasSubmitted && errors.region && (

{errors.region}