Commit graph

13 commits

Author SHA1 Message Date
97850b12c1 refactor: 코드 구조 개선 및 중복 제거
- 페이지 폴더 구조를 문서대로 정리 (pc/, mobile/ 하위 폴더)
- Mobile Schedule 리팩토링 (1,495줄 → 780줄, 48% 감소)
- MobileCalendar를 별도 공통 컴포넌트로 분리
- MobileBirthdayCard에 motion/delay 지원 추가
- 중복 상수 통합: CATEGORY_ID, MIN_YEAR, SEARCH_LIMIT, MEMBER_ENGLISH_NAMES
- sections/utils.js 중복 함수 제거 (@/utils에서 re-export)
- formatXDateTime 함수 개선 (datetime 문자열 직접 처리)
- 모바일 유튜브 숏츠 표시 개선 (가로 비율, 전체화면시 세로)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 11:32:43 +09:00
dd0e508117 feat: 생일 페이지 추가 (PC/Mobile)
- 멤버 생일 상세 페이지 구현
- 그라데이션 헤더 카드 (멤버 사진, 생일 정보)
- 생일카페 섹션 (준비 중 플레이스홀더)
- breadcrumb 네비게이션 (HAPPY OOO DAY 그라데이션 텍스트)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 10:32:11 +09:00
76e0c2ee72 feat(frontend-temp): Phase 10 - 앨범 목록 페이지 구현
PC 앨범 페이지:
- 앨범 목록 그리드 (4열)
- 앨범 타입별 통계 (정규/미니/싱글/총)
- 호버 시 트랙 수 표시
- 타이틀곡 및 발매일 표시

Mobile 앨범 페이지:
- 앨범 목록 그리드 (2열)
- 앨범 타입 및 발매년도 표시

Note: 앨범 상세 페이지(AlbumDetail, AlbumGallery)는 추후 구현 예정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 09:23:24 +09:00
7a076aaffd feat(frontend-temp): Phase 9 - 스케줄 페이지 구현
PC 스케줄 페이지:
- Calendar 컴포넌트 (년/월 선택, 날짜 선택, 일정 점 표시)
- CategoryFilter 컴포넌트 (카테고리별 필터링)
- 검색 기능 (무한 스크롤 + 가상 스크롤 + 자동완성)
- 생일 폭죽 애니메이션

Mobile 스케줄 페이지:
- 달력 뷰 / 리스트 뷰 전환
- 월 선택 드롭다운
- 검색 기능 (무한 스크롤)
- 날짜별 그룹화된 일정 목록

공통 컴포넌트:
- BirthdayCard (PC/Mobile)
- fireBirthdayConfetti 함수

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 09:08:30 +09:00
9b96c475a7 refactor(frontend): 일정 카드를 공유 컴포넌트로 분리
- ScheduleCard (PC): 카테고리와 source name 분리, Link2 아이콘 사용
- MobileScheduleCard (Mobile): 동일한 구조로 분리
- Home 페이지에서 컴포넌트 사용하도록 변경
- 멤버 5명 이상이면 '프로미스나인'으로 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:31:28 +09:00
8ec7aa0e60 feat(frontend): Phase 8 - 멤버 페이지 구현
- PC 멤버 페이지: 5열 그리드, 전 멤버 섹션 (grayscale)
- Mobile 멤버 페이지: Swiper 카드 스타일, 썸네일 인디케이터
- App.jsx에 멤버 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:20:17 +09:00
edde52b06e feat(frontend): Phase 7 - 홈 페이지 및 App.jsx 구현
- PC/Mobile 홈 페이지 분리 구현
- App.jsx: react-device-detect (BrowserView/MobileView) 사용
- PCWrapper: body.is-pc 클래스 추가
- 커스텀 훅 사용 (useMembers, useAlbums, useUpcomingSchedules)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:18:15 +09:00
2d42bf1603 revert(frontend): Phase 5로 롤백 - 구조 재설계
Phase 6-9에서 추가된 파일 제거
- react-device-detect 미사용 문제로 인한 구조 재설계
- 올바른 폴더 구조로 재시작 예정:
  - pages/{feature}/pc/, pages/{feature}/mobile/ 구조
  - react-device-detect BrowserView/MobileView 사용
  - components/pc/, components/mobile/ 레이아웃 분리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 20:11:21 +09:00
bd8e87f636 feat(frontend): Phase 9 - 기타 공개 페이지 마이그레이션
페이지 추가:
- Home: PC/Mobile 통합 홈 페이지
  - 히어로 섹션, 그룹 통계, 멤버/앨범/일정 미리보기
- Members: PC/Mobile 통합 멤버 페이지
  - 현재 멤버, 전 멤버 그리드
- NotFound: 404 페이지

훅 추가:
- useMembers: 멤버 목록 조회
- useMemberDetail: 멤버 상세 조회

라우팅:
- 모든 공개 라우트 완성 (/, /members, /album, /schedule)
- 404 라우트 추가 (*)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 18:07:55 +09:00
5e03e48be5 feat(frontend): Phase 8 - 앨범 페이지 마이그레이션
앨범 페이지:
- Album.jsx: PC/Mobile 통합 (useIsMobile 분기)
- PC: 통계 + 4열 그리드 + 호버 오버레이
- Mobile: 2열 그리드 간소화

훅 추가:
- useAlbums: 앨범 목록 조회
- useAlbumDetail: 앨범 상세 조회
- useAlbumGallery: 앨범 갤러리 조회

라우팅:
- /album 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 18:03:06 +09:00
81b78be010 fix(frontend): useCalendar 및 Schedule 날짜 처리 버그 수정
- useCalendar: initialDate가 문자열일 경우 Date 객체로 변환
- useCalendar: days 배열 추가 (캘린더 날짜 목록)
- useCalendar: canGoPrev 별칭 추가
- Schedule: currentDate가 Date 객체가 아닐 경우 안전하게 변환

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 18:01:09 +09:00
64fc07044d feat(frontend): Phase 7 - 레이아웃 및 스케줄 페이지 마이그레이션
레이아웃 컴포넌트:
- Header: PC용 헤더 (네비게이션 + SNS 링크)
- MobileNav: 모바일 하단 네비게이션
- Footer: PC용 푸터
- Layout: PC/Mobile 통합 레이아웃 (useIsMobile 기반 분기)

스케줄 페이지 (기본 구조):
- PC: 좌측 캘린더 + 우측 일정 목록
- Mobile: 상단 네비게이션 + 일정 목록
- 월 변경, 날짜 선택, 일정 표시 기능

App.jsx 업데이트:
- 라우팅 설정 (/, /schedule, /members, /album)
- Layout 컴포넌트 적용

상수 추가:
- NAV_ITEMS: 네비게이션 메뉴 항목

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 17:54:27 +09:00
4ec368c936 feat(frontend): Phase 1 - 리팩토링을 위한 frontend-temp 프로젝트 셋업
- frontend-temp/ 폴더 생성 (Strangler Fig Pattern)
- package.json: clsx 추가, 버전 2.0.0
- vite.config.js: @ path alias 추가
- 기본 폴더 구조 생성 (api, components, hooks, pages, stores, utils, constants)
- docker-compose.yml: fromis9-frontend-dev 서비스 추가

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