Commit graph

7 commits

Author SHA1 Message Date
980ae3fe1d refactor: frontend-temp를 frontend로 대체 및 문서 업데이트
- frontend 폴더를 새로 리팩토링된 frontend-temp로 교체
- docs/architecture.md: 현재 프로젝트 구조 반영
- docs/development.md: API 클라이언트 구조 업데이트
- docs/frontend-improvement.md 삭제 (완료된 개선 계획)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:29:30 +09:00
21dde0fd35 refactor: 미사용 코드 제거
삭제된 함수:
- format.js: formatNumber, formatViewCount, formatFileSize, formatDuration, truncateText
- date.js: nowKST, parseDateKST, isPast, isFuture

삭제된 상수:
- constants: DEFAULT_PAGE_SIZE, API_BASE_URL

삭제된 hooks (8개, 모두 미사용):
- useAlbumData, useCalendar, useLightbox, useMediaQuery
- useMemberData, useScheduleData, useScheduleFiltering, useScheduleSearch

삭제된 stores:
- useUIStore (미사용)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 21:37:09 +09:00
67a41d78ea refactor: 폴더 구조 재편 (Phase 1)
- api/: common/, pc/common/, pc/public/, pc/admin/ 구조로 변경
- components/: pc/public/, pc/admin/ 구조로 변경
- hooks/: common/, pc/admin/ 구조로 변경
- pages/: pc/public/, mobile/ 구조로 변경
- confetti.js를 utils/로 이동
- 모든 import 경로 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 18:37:30 +09:00
57d4f1dd5c refactor: High 우선순위 코드 품질 개선
- utils/youtube.js: YouTube URL 파싱 유틸리티 생성
  - getYoutubeVideoId, getYoutubeThumbnail, getYoutubeEmbedUrl
- utils/format.js: parseCredits, calculateTotalDuration 함수 추가
- hooks/useLightbox.js: 라이트박스 상태 관리 훅 생성
- components/common/ErrorMessage.jsx: 에러 메시지 컴포넌트 생성
- components/common/Loading.jsx: size prop 추가 (sm, md, lg)
- TrackDetail (PC/Mobile): 중복 함수 제거, 유틸리티 사용
- AlbumDetail (PC/Mobile): getTotalDuration -> calculateTotalDuration 유틸리티 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 12:40:31 +09:00
0255b35616 feat(frontend): 일정 카드 컴포넌트 5종 생성
PC 카드 (2종):
- ScheduleCard: 일반 일정 카드 (홈, 스케줄 페이지)
- AdminScheduleCard: 관리자 일정 카드 (편집/삭제 버튼 포함)

Mobile 카드 (3종):
- MobileScheduleCard: 홈 페이지용 (간결한 레이아웃)
- MobileScheduleListCard: 스케줄 타임라인용 (날짜 없이 시간/카테고리)
- MobileScheduleSearchCard: 검색 결과용 (왼쪽에 날짜 표시)

공통 변경:
- decodeHtmlEntities를 사용하여 HTML 엔티티 디코딩
- getDisplayMembers 유틸 추가 (5명 이상일 때 프로미스나인 표시)
- getMemberList가 member_names 문자열 처리하도록 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:40:07 +09:00
27c41b0af0 feat(frontend): Phase 5 - 커스텀 훅 구현
- useMediaQuery, useIsMobile, useIsDesktop: 반응형 레이아웃
- useScheduleData, useCategories: 스케줄/카테고리 데이터 조회
- useScheduleSearch: 무한 스크롤 검색
- useScheduleFiltering, useCategoryCounts: 필터링 및 정렬
- useCalendar: 캘린더 로직 (월 이동, 날짜 선택)
- useAdminAuth: 토큰 검증 및 리다이렉트
- utils/schedule.js: 스케줄 유틸리티 함수 추가
- constants: SEARCH_LIMIT, MIN_YEAR, MONTH_NAMES 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:22:38 +09:00
dc63a91f4f feat(frontend): Phase 2 - 유틸리티 및 상수 정의
- constants/index.js: 카테고리, SNS 링크, 앨범 타입, 타임존 상수
- utils/cn.js: clsx 기반 className 유틸리티
- utils/date.js: dayjs 기반 날짜 유틸리티 (KST)
- utils/format.js: HTML 디코딩, 숫자/시간 포맷팅
- utils/index.js: 통합 export

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:07:56 +09:00