Commit graph

7 commits

Author SHA1 Message Date
b49e5e277d refactor: 멤버 영어이름 하드코딩 제거, API에서 가져오도록 변경
- MEMBER_ENGLISH_NAMES 상수 제거
- Birthday 페이지에서 member.name_en 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 11:38:09 +09:00
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
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
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
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
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