Commit graph

15 commits

Author SHA1 Message Date
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
578ab25568 feat: 모바일 일정 날짜 변경 시 스크롤 맨 위로 초기화
- contentRef 추가하여 mobile-content 요소 참조
- selectedDate 변경 시 useEffect로 scrollTop = 0 설정
2026-01-09 15:04:27 +09:00
0d72dfe456 feat: dayjs 라이브러리로 날짜 계산 로직 통합
- dayjs 패키지 설치 (타임존 지원)
- utils/date.js 유틸리티 생성 (getTodayKST, formatDate, parseDateKST 등)
- PC/모바일 Home.jsx의 날짜 계산을 유틸리티로 교체
- PC Schedule.jsx, AdminSchedule.jsx의 getTodayKST 함수를 유틸리티로 교체
- KST 타임존 기준으로 정확한 날짜 계산 보장
2026-01-09 09:46:54 +09:00
cca25b456c feat(mobile): 모바일 레이아웃 시스템 구축 - 컨텐츠 영역만 스크롤되도록 개선
- index.css: 모바일 레이아웃 CSS 시스템 추가 (mobile-layout-container, mobile-content, mobile-toolbar)
- Layout.jsx: MobileLayout에서 레이아웃 및 body 스크롤 제어 통합
- 하단 네비게이션을 fixed에서 flex-shrink-0으로 변경
- 모바일 스크롤바 숨김 처리
- Home, Members, Album, Schedule 페이지 여백 정리
2026-01-09 09:26:51 +09:00
030c495c01 모바일 일정: 달력 점 표시 PC 버전과 통일, 멤버 배지 초록색, 월 변경 시 날짜 선택 로직 개선 2026-01-07 16:00:42 +09:00
f2b0170cf8 모바일 일정: 달력 헤더 툴바 통합, 년월 드롭다운 개선 2026-01-07 15:20:30 +09:00
767cbcaf5f refactor(mobile): Swiper 제거하고 터치 제스처 방식 CalendarPicker로 변경 2026-01-07 14:23:02 +09:00
f958e2b5e2 feat(mobile): 모바일 페이지 기본 구현
- 모바일 레이아웃 및 하단 네비게이션 추가
- 홈 페이지: 히어로, 멤버, 앨범(2개), 일정 섹션
- 멤버 페이지: 현재/전 멤버 분리, 상세 모달
- 앨범 페이지: 목록, 상세, 갤러리
- 일정 페이지: 캘린더 피커, 세로 스크롤 목록
- ScrollToTop 컴포넌트로 페이지 이동 시 스크롤 초기화
- PC 홈 일정 API startDate+limit 방식으로 변경
2026-01-07 10:10:12 +09:00