From dd5ef48592b755c5ce8fc5f0b82e15674c0cc349 Mon Sep 17 00:00:00 2001 From: caadiq Date: Sun, 31 May 2026 22:15:10 +0900 Subject: [PATCH] =?UTF-8?q?feat(schedule):=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EA=B2=B0=EA=B3=BC=20=EC=97=86=EC=9D=8C=20UI=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EB=B9=88=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PC: 검색 모드에서 결과 0개일 때 아무것도 안 나오던 문제 수정 (돋보기 아이콘 + 검색어 표시), 검색 중 로딩 구분 - 모바일: 검색/날짜별 빈 상태를 아이콘 포함 디자인으로 통일 - 빈 상태/로딩을 일정 영역 기준으로 배치 (PC: 상단 30% 지점, 모바일: 중앙) Co-Authored-By: Claude Opus 4.7 --- .../src/pages/mobile/schedule/Schedule.jsx | 27 ++++++++++++++----- .../src/pages/pc/public/schedule/Schedule.jsx | 22 +++++++++++++-- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/mobile/schedule/Schedule.jsx b/frontend/src/pages/mobile/schedule/Schedule.jsx index 3db0419..00c7a14 100644 --- a/frontend/src/pages/mobile/schedule/Schedule.jsx +++ b/frontend/src/pages/mobile/schedule/Schedule.jsx @@ -695,7 +695,7 @@ function MobileSchedule() { className="mobile-content" ref={isSearchMode && searchTerm && !showSuggestionsScreen ? scrollContainerRef : contentRef} > -
+
{isSearchMode ? ( showSuggestionsScreen ? ( // 추천 검색어 화면 @@ -720,11 +720,19 @@ function MobileSchedule() { ) : !searchTerm ? (
검색어를 입력하세요
) : searchLoading ? ( -
+
) : searchResults.length === 0 ? ( -
검색 결과가 없습니다
+
+
+ + + +
+

검색 결과가 없습니다

+

'{searchTerm}'에 대한 일정을 찾을 수 없습니다

+
) : ( <>
) ) : loading ? ( -
+
) : selectedDateSchedules.length === 0 ? ( -
- {selectedDate.getMonth() + 1}월 {selectedDate.getDate()}일 일정이 없습니다 +
+
+ + + +
+

+ {selectedDate.getMonth() + 1}월 {selectedDate.getDate()}일 일정이 없습니다 +

) : (
diff --git a/frontend/src/pages/pc/public/schedule/Schedule.jsx b/frontend/src/pages/pc/public/schedule/Schedule.jsx index 9ff4d5a..36b38dd 100644 --- a/frontend/src/pages/pc/public/schedule/Schedule.jsx +++ b/frontend/src/pages/pc/public/schedule/Schedule.jsx @@ -77,6 +77,7 @@ function PCSchedule() { fetchNextPage, hasNextPage, isFetchingNextPage, + isLoading: isSearchLoading, } = useInfiniteQuery({ queryKey: ['scheduleSearch', searchTerm], queryFn: async ({ pageParam = 0 }) => { @@ -546,7 +547,7 @@ function PCSchedule() { {/* 스케줄 목록 */}
{loading ? ( -
로딩 중...
+
로딩 중...
) : filteredSchedules.length > 0 ? ( isSearchMode && searchTerm ? ( <> @@ -609,9 +610,26 @@ function PCSchedule() { )) ) + ) : isSearchMode && searchTerm ? ( + isSearchLoading ? ( +
검색 중...
+ ) : ( + +
+ + + +
+

검색 결과가 없습니다

+

+ '{searchTerm}' + {selectedCategories.length > 0 ? ' 검색 결과가 없습니다' : '에 대한 일정을 찾을 수 없습니다'} +

+
+ ) ) : ( !isSearchMode && ( - +