dc65858d6b
웹: AlbumDetail, AlbumGallery 페이지 useQuery로 리팩토링
2026-01-12 17:44:28 +09:00
443bd203ca
모바일 갤러리: 높이 기반 균등 분배 알고리즘 적용
2026-01-12 16:08:00 +09:00
b06e9c0ad9
모바일 갤러리: 홀수개 사진일 때 레이아웃 균형 보정
2026-01-12 16:06:00 +09:00
3adefdb38a
모바일: 홈 앨범 카드 그림자 강화
2026-01-12 15:54:00 +09:00
0664c7b594
모바일: 홈 앨범 섹션 배경색 통일, 바텀바 페이지 전환 시 스크롤 맨 위로
2026-01-12 15:53:01 +09:00
d999872517
웹: Schedule 페이지 일정/카테고리 로딩 useQuery로 리팩토링
2026-01-12 15:51:27 +09:00
990d360520
웹: useEffect를 useQuery로 리팩토링 (PC/모바일 공개 페이지)
2026-01-12 15:46:34 +09:00
a89139f056
앱: 애니메이션 및 네비게이션 개선, 문서 업데이트
2026-01-12 15:44:05 +09:00
64e12e47ae
앨범 상세: 바텀시트 웹 동일 애니메이션, 동영상 썸네일 지원
2026-01-12 14:51:15 +09:00
58411f3dca
feat(app): 멤버 화면 블러 효과 및 dayjs 날짜 처리 적용
...
- expo-blur로 모달 배경 블러 효과 구현 (experimentalBlurMethod)
- dayjs로 생일 날짜 형식 처리 (YYYY.MM.DD)
- dayjs로 나이 계산 로직 개선
- 헤더 타이틀 '멤버'로 변경 (웹과 동일)
- .easignore 추가 (상위 폴더 데이터 제외)
- redis_data 폴더 gitignore 추가
2026-01-12 12:47:59 +09:00
d6bc8d79ba
모바일 앨범 갤러리 UI 대폭 개선
...
- Swiper 라이브러리로 ViewPager 스타일 라이트박스 구현
- LightboxIndicator 컴포넌트에 width prop 추가 (모바일 120px)
- 2열 지그재그 Masonry 그리드 레이아웃
- 바텀시트 정보 표시 (드래그 핸들 지원)
- 뒤로가기 처리 (라이트박스/다이얼로그 닫기)
- 앨범 조회 API: folder_name 또는 title로 검색 (PC/모바일 호환)
2026-01-11 23:15:56 +09:00
de2e02fcd9
feat(Mobile Album): 앨범 상세 UI 개선
...
- 히어로 섹션 (커버 중앙 + 블러 배경)
- 앨범 소개 바텀시트 다이얼로그 (드래그 닫기)
- 수록곡 더보기/접기 기능
- 컨셉 포토 전체보기 버튼 모바일화
- 뮤직비디오 버튼 제거
- 라이트박스 showNav 조건 추가
- 앨범 API folder_name 검색으로 수정
2026-01-11 22:17:28 +09:00
79a3501ef1
feat(Album): PC 타이틀곡 텍스트 제거 + 모바일 상세 UI 개선
...
- PC: 앨범 상세에서 '타이틀곡: OOO' 텍스트 제거
- 모바일: 앨범 상세 UI 전면 개선
- 티저 포토 섹션 추가
- 수록곡 리스트 스타일 개선 (트랙번호, TITLE 뱃지)
- 컨셉 포토 6장 프리뷰 + 전체보기 링크
- 라이트박스 (다운로드, 이전/다음 네비게이션)
- 앨범 API에서 folder_name 반환 추가
2026-01-11 22:04:08 +09:00
2ad5341f9c
feat(Search): Mobile Schedule 추천 검색어 API 연동
2026-01-11 21:44:55 +09:00
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