diff --git a/frontend/src/pages/pc/admin/AdminSchedule.jsx b/frontend/src/pages/pc/admin/AdminSchedule.jsx index 701ac9e..d9e4915 100644 --- a/frontend/src/pages/pc/admin/AdminSchedule.jsx +++ b/frontend/src/pages/pc/admin/AdminSchedule.jsx @@ -519,7 +519,10 @@ function AdminSchedule() { // 일정 목록 (검색 모드일 때 searchResults, 일반 모드일 때 로컬 필터링) - useMemo로 최적화 const filteredSchedules = useMemo(() => { if (isSearchMode) { - return searchTerm ? searchResults : []; + if (!searchTerm) return []; + // 카테고리 필터링 적용 + if (selectedCategories.length === 0) return searchResults; + return searchResults.filter(s => selectedCategories.includes(s.category_id)); } // 일반 모드: 로컬 필터링 return schedules.filter(schedule => { diff --git a/frontend/src/pages/pc/public/Schedule.jsx b/frontend/src/pages/pc/public/Schedule.jsx index 48d7c6c..d607cb2 100644 --- a/frontend/src/pages/pc/public/Schedule.jsx +++ b/frontend/src/pages/pc/public/Schedule.jsx @@ -259,7 +259,9 @@ function Schedule() { if (isSearchMode) { // 검색 전엔 빈 목록, 검색 후엔 API 결과 (Meilisearch 유사도순 유지) if (!searchTerm) return []; - return searchResults; + // 카테고리 필터링 적용 + if (selectedCategories.length === 0) return searchResults; + return searchResults.filter(s => selectedCategories.includes(s.category_id)); }