Commit graph

67 commits

Author SHA1 Message Date
043925dcb2 feat(Mobile Schedule): 유튜브 스타일 추천 검색어 리스트 추가
- 드롭다운 대신 컨텐츠 영역 전체에 추천 검색어 표시
- 입력값에 따른 실시간 필터링
- 키패드 검색 버튼(Enter) 클릭 시 키패드 닫기
- 검색 결과 모드에서는 autoFocus 비활성화
2026-01-11 18:59:38 +09:00
0376c0ac73 feat: 검색 카드 제목 2줄 ellipsis 적용
- line-clamp-2 추가하여 긴 제목 잘림 처리
2026-01-10 10:37:11 +09:00
3b79aa13c2 feat: 검색 카드 날짜 레이아웃 개선
- 왼쪽에 날짜 세로 배치 (년도/월.일/요일)
- 일요일 빨간색, 토요일 파란색 요일 색상 적용
- 오른쪽 콘텐츠 영역으로 분리
2026-01-10 10:35:00 +09:00
54fe3074dc feat: 검색 결과 카드 디자인 개선
- TimelineScheduleCard 스타일로 리디자인
- 날짜 뱃지 추가 (M.D (요일) 형식)
- 시간/카테고리 뱃지 스타일 통일
- 멤버 태그 그라데이션 적용
- 스프링 애니메이션 추가
2026-01-10 10:31:22 +09:00
83e3689f02 feat: 모바일 검색 뒤로가기 버튼 처리
- enterSearchMode()에서 history.pushState로 히스토리 상태 추가
- popstate 이벤트로 뒤로가기 시 검색 모드 종료
- 이전 페이지로 이동하지 않고 일정 화면으로 복귀
2026-01-10 10:28:21 +09:00
0521e3d0ec fix: 모바일 일정 HTML 엔티티 디코딩 적용
- decodeHtmlEntities 함수 추가
- ScheduleCard, TimelineScheduleCard title에 적용
- & → & 등으로 올바르게 표시
2026-01-10 10:26:21 +09:00
d84ab36a83 fix: 검색 스크롤 초기화 개선
- virtualizer.scrollToOffset(0) 사용
- DOM 스크롤도 함께 초기화 (fallback)
2026-01-10 10:23:03 +09:00
ff2c596865 fix: 검색 시 스크롤 위치 초기화
- searchTerm 변경 시 scrollContainerRef.scrollTop = 0 적용
- 검색 취소 후 재검색 시 맨 위부터 표시
2026-01-10 10:16:19 +09:00
54bbe75ecc fix: 검색 모드 진입 시 기존 일정 숨김
- isSearchMode일 때 searchTerm 없으면 '검색어를 입력하세요' 표시
- 기존 날짜별 일정이 보이지 않도록 조건 수정
2026-01-10 10:14:59 +09:00
c8ec8de946 fix: 모바일 검색 X버튼 중복 및 하단 여백 수정
- type='search' → type='text'로 변경하여 브라우저 기본 X버튼 제거
- 무한 스크롤 트리거 여백 py-4 → py-2로 축소
2026-01-10 10:12:32 +09:00
660acd0007 feat: 모바일 일정 검색에 가상 스크롤 적용
- @tanstack/react-virtual useVirtualizer 적용
- 동적 높이 지원 (measureElement, data-index)
- SEARCH_LIMIT 10 → 20으로 증가
- 검색 결과가 많아도 DOM에는 화면에 보이는 요소만 렌더링
2026-01-10 10:10:36 +09:00
b35dab5eea feat: 모바일 일정 검색 UX 개선
- 입력 시마다 검색 → 키패드 검색 버튼 눌러야 검색으로 변경
- searchInput과 searchTerm 분리
- type='search', enterKeyHint='search' 추가로 모바일 키보드 최적화
- 취소 버튼 잘림 현상 수정 (flex-shrink-0, min-w-0)
2026-01-10 10:05:56 +09:00
d6eb8d410c feat: 모바일 홈 화면 섹션별 애니메이션 추가
- 히어로 섹션: 페이드인 + 텍스트 슬라이드업
- 멤버 섹션: 프로필 팝 애니메이션
- 앨범 섹션: 카드 슬라이드업
- 일정 섹션: 카드 슬라이드인
- 순차적 딜레이로 자연스러운 로딩 효과
2026-01-10 00:11:04 +09:00
dc879fc60d feat: 모바일 멤버 페이지 카드 애니메이션 추가
- 페이드인 + 슬라이드업 애니메이션 적용
- 순차적 딜레이로 자연스러운 등장 효과
2026-01-10 00:09:13 +09:00
1f9cf34e31 refactor: 모바일 public 페이지 API 모듈 적용
수정된 파일 (5개):
- pages/mobile/public/Album.jsx
  - fetch('/api/albums') → getAlbums()

- pages/mobile/public/Members.jsx
  - fetch('/api/members') → getMembers()

- pages/mobile/public/AlbumDetail.jsx
  - fetch('/api/albums') → getAlbums()
  - fetch('/api/albums/{id}/tracks') → getAlbumTracks()

- pages/mobile/public/AlbumGallery.jsx
  - fetch('/api/albums') → getAlbums()
  - fetch('/api/albums/{id}/photos') → getAlbumPhotos()

- pages/mobile/public/Schedule.jsx
  - fetch('/api/schedules?year=...') → getSchedules()
  - fetch('/api/schedules/categories') → getCategories()
  - fetch('/api/schedules?search=...') → searchSchedules()

Home.jsx는 이미 API 모듈 사용 중이므로 제외
2026-01-10 00:02:42 +09:00
0ff9f196f1 refactor: PC/모바일 public 페이지 API 모듈 적용 (4/5)
- PC: Schedule, Home, Album, AlbumDetail, AlbumGallery, Members
- 모바일: Home
- albums.js에 getAlbumByName 추가
- schedules.js에 getUpcomingSchedules 추가
2026-01-09 22:06:56 +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