Commit graph

17 commits

Author SHA1 Message Date
727b05f0f5 feat(Search): Redis 기반 bi-gram 추천 검색어 시스템 구현
- MariaDB 테이블 추가 (search_queries, word_pairs)
- Redis 컨테이너 추가 (Sorted Set 캐싱)
- 백엔드 suggestions 서비스 및 API 구현
- 검색 실행 시 검색어 저장 (bi-gram 학습)
- PC Schedule 프론트엔드 연동 완료
2026-01-11 21:33:55 +09:00
3d2a6555f8 fix(Schedule): 무한 스크롤 중복 요청 방지
- inView가 false→true로 변경될 때만 fetchNextPage 실행
- prevInViewRef를 사용하여 이전 상태 추적
- PC 일정, Admin 일정 페이지 모두 적용
2026-01-11 19:06:52 +09:00
90f5a9a90a feat(Schedule): 검색어 추천 UI 프로토타입 구현
- PC/Admin 스케줄 페이지에 검색어 추천 드롭다운 추가
- 3영역 검색창 레이아웃 (뒤로가기 / 입력 / 검색 버튼)
- 방향키로 추천 검색어 선택 시 입력창 반영 (유튜브 스타일)
- 외부 클릭 시 드롭다운 닫기
- 검색 모드 진입 시 기존 카테고리 유지
- 검색 모드 종료 시 스크롤 위치 초기화
- 전환 애니메이션 개선 (scale + opacity)
2026-01-11 15:58:20 +09:00
233b76355e refactor: 일정 페이지 레이아웃을 일정 관리 페이지와 동일하게 수정
- 화면 고정 레이아웃으로 변경 (h-[calc(100vh-64px)] overflow-hidden)
- grid grid-cols-3 레이아웃으로 변경
- 왼쪽 달력/카테고리 영역 고정, 오른쪽 일정 목록만 스크롤
- Layout.jsx에서 일정 페이지 Footer 숨김 처리
2026-01-11 11:26:17 +09:00
4ecc16347c fix: 일정 페이지 최소 높이 및 관리 페이지 글씨 크기 수정
- Schedule.jsx: 검색 결과 아이템에 min-h-[100px] 추가
- AdminSchedule.jsx: 글씨 크기 및 아이콘 크기 원복
2026-01-10 09:50:56 +09:00
d22466ec23 feat: 가상 스크롤 동적 높이 지원
- measureElement와 data-index 사용으로 각 아이템 실제 높이 측정
- 고정 높이(h-[120px]) 제거하여 내용에 맞게 자동 조절
2026-01-10 09:46:38 +09:00
0cab67dfbe fix: 가상 스크롤 컨테이너 높이에서 마지막 여백 제거 2026-01-10 09:43:58 +09:00
92782e9022 fix: 마지막 검색 결과 항목 여백 제거 2026-01-10 09:42:34 +09:00
043f8b465d fix: 가상 스크롤 버그 수정
- searchSchedules 미정의 오류 수정 (setSearchTerm만 사용)
- Schedule.jsx 항목 간 여백 추가 (ITEM_HEIGHT 136px)
2026-01-10 09:40:40 +09:00
ad2d501c39 feat: 일정 검색에 가상 스크롤 최적화 적용
- @tanstack/react-virtual 라이브러리 추가
- Schedule.jsx, AdminSchedule.jsx에 useVirtualizer 적용
- 검색 결과가 많아도 DOM에는 화면에 보이는 요소만 렌더링
- 스크롤 성능 대폭 향상
2026-01-10 09:34:18 +09:00
7192379eb0 chore: 일정 검색 페이징 limit을 20개로 변경
- Schedule.jsx, AdminSchedule.jsx SEARCH_LIMIT 5 -> 20
2026-01-10 09:20:27 +09:00
9986b918d8 fix: 검색 모드에서 카테고리 필터링 적용
- 검색 결과에도 selectedCategories로 필터링 추가
- Schedule.jsx, AdminSchedule.jsx 수정
2026-01-10 09:16:15 +09:00
bedda590eb fix: 검색 모드에서 카테고리 카운트 수정
- 검색 모드일 때 selectedDate 조건 제거하여 모든 검색 결과의 카테고리 표시
- Schedule.jsx, AdminSchedule.jsx 수정
2026-01-10 09:13:49 +09:00
22db79e960 fix: PC 공개 일정 페이지 HTML 엔티티 디코딩 수정
- decodeHtmlEntities 함수 추가하여 < > 등 올바르게 표시
- 레이아웃 변경 없음 (원래 상태 유지)
2026-01-10 00:45:30 +09:00
8424c3422d fix: Schedule 페이지 오류 수정 및 년월 선택 스타일 통일
- Schedule.jsx: yearRange, monthNames 변수 누락 수정
- Schedule.jsx, AdminSchedule.jsx: 현재 년도/월 테두리 제거, 글씨색만 유지
- CustomDatePicker.jsx: 동일 스타일 적용
2026-01-09 22:47:32 +09:00
0722ca10f3 refactor: API 중앙화 최종 (5/5)
- Schedule.jsx import 경로 오류 수정
- AdminSchedule.jsx API 모듈 적용 (schedulesApi, categoriesApi)
- 전체: PC public 6개, 모바일 Home 1개, Admin 2개 적용 완료
2026-01-09 22:09:42 +09:00
e994aa08ca refactor: API 및 페이지 폴더 구조 정리 (2/3)
- api/schedules, albums, members → api/public/로 이동
- pages/pc/*.jsx → pages/pc/public/로 이동
- pages/mobile/*.jsx → pages/mobile/public/로 이동
- App.jsx 라우터 경로 수정
- 모든 public 페이지의 import 경로 수정
2026-01-09 22:00:14 +09:00
Renamed from frontend/src/pages/pc/Schedule.jsx (Browse further)