Commit graph

7 commits

Author SHA1 Message Date
c54de2ba82 feat: useInfiniteQuery 기반 무한 스크롤 구현 및 UI 개선
- react-infinite-scroll-component를 useInfiniteQuery + useInView로 대체
- Schedule.jsx, AdminSchedule.jsx에 안정적인 무한 스크롤 적용
- source_name에 Link2 아이콘 추가 (카테고리 오른쪽 인라인 표시)
- 멤버 5명 이상일 경우 '프로미스나인'으로 표시 (탈퇴 멤버 고려)
- AdminSchedule 일반 모드에서 members 배열도 확인하여 멤버 표시
- QueryClientProvider 설정 추가 (main.jsx)
2026-01-06 19:48:43 +09:00
dac2234a0b 일정 관리 상태 관리를 Zustand로 마이그레이션
- zustand 패키지 설치
- useScheduleStore 스토어 생성
- sessionStorage 관련 모든 복잡한 로직 제거
- 메모리 기반이라 SPA 내 이동 시 유지, 새로고침 시 자동 초기화
2026-01-06 12:26:40 +09:00
4da5ea58ef feat: 일정 카테고리 관리 기능 추가 및 다이얼로그 스타일 통일
- 일정 카테고리 CRUD API 추가 (backend/routes/admin.js)
- AdminScheduleCategory 페이지 신규 추가
  - 카테고리 추가/수정/삭제 기능
  - 드래그 앤 드롭 정렬 (framer-motion Reorder)
  - react-colorful 기반 커스텀 색상 선택기
  - 중복 카테고리 체크
- AdminScheduleForm에 동적 카테고리 로드 기능 추가
- 삭제 다이얼로그 앨범 스타일로 통일 (AlertTriangle 아이콘, 경고 메시지)
- Toast 컴포넌트 exit 애니메이션 수정
- 토스트 3초 자동 닫힘 기능 추가
2026-01-05 11:20:44 +09:00
2a952f39ab feat: 일정 관리 페이지 및 타임피커 개선
- AdminSchedule, AdminScheduleForm 페이지 추가
- 커스텀 타임피커 구현 (오전/오후 지원, 드래그/휠 스크롤)
- Lightbox 공통 컴포넌트 분리 (components/common/Lightbox.jsx)
- 이미지 드래그 앤 드롭 정렬 기능
- 이미지 삭제 확인 다이얼로그
- 이미지 추가 버튼 첫번째 위치 고정
- 일정 이미지 순서 번호 표시
- react-ios-time-picker 라이브러리 CSS 제거
2026-01-04 20:50:21 +09:00
0a77765a6d feat: 앨범 상세 레이아웃 개선, 관리 화면 썸네일 확대 및 최적화
- 앨범 소개를 다이얼로그로 분리 (점3개 메뉴)
- 수록곡 전체 너비로 표시
- 관리 화면 썸네일 180px로 확대
- 메타 영역 고정 높이 (200px)
- lazy loading 및 애니메이션 최적화
2026-01-03 10:01:34 +09:00
3339b281c7 feat: 갤러리 최적화 및 라우터 개선
- 컨셉 포토 갤러리 페이지 추가 (AlbumGallery.jsx)
- react-photo-album 라이브러리로 Justified 레이아웃 구현
- 썸네일/원본 이미지 분리 (thumb_400, original 폴더)
- 라우터 변경: /discography → /album
- URL 형식 변경: ID 기반 → 앨범명 기반 (/album/하얀 그리움)
- 앨범명 기반 API 추가 (/api/albums/by-name/:name)
- 브레드크럼 스타일 네비게이션 적용
- 라이트박스 슬라이드 애니메이션 추가
- 점 형태 인디케이터로 변경
2026-01-01 17:20:36 +09:00
91270c2c8b feat: Pretendard 폰트 적용 및 DB 스키마 완성
- Pretendard 폰트로 변경 (CDN)
- albums, tracks 테이블 생성 및 데이터 삽입
- 트랙별 작사/작곡/편곡/설명 정보 추가
- 모든 테이블 및 컬럼에 COMMENT 추가
2026-01-01 00:20:33 +09:00