27fc26ee96
refactor: 컴포넌트 폴더 구조화
...
변경 전:
components/
├── pc/admin/ (플랫)
├── pc/public/ (플랫)
└── mobile/ (플랫)
변경 후:
components/
├── pc/admin/
│ ├── layout/ (Layout, Header)
│ ├── common/ (ConfirmDialog, DatePicker, TimePicker, NumberPicker)
│ └── schedule/ (AdminScheduleCard, CategorySelector)
├── pc/public/
│ ├── layout/ (Layout, Header, Footer)
│ └── schedule/ (Calendar, ScheduleCard, BirthdayCard, CategoryFilter)
└── mobile/
├── layout/ (Layout, Header, BottomNav)
└── schedule/ (Calendar, ScheduleCard 등)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 21:41:44 +09:00
d9b8e67b9a
refactor: Critical 코드 품질 개선
...
- useAdminAuth: useRef로 logout 함수 안정화하여 무한 루프 방지
- useAdminAuth/useRedirectIfAuthenticated: queryKey 충돌 해결
- useAuthStore: 미사용 getToken, checkAuth 메서드 제거
- useUIStore: 미사용 confirmDialog 관련 코드 제거
- 카드 컴포넌트 React.memo 적용 (PC/Mobile ScheduleCard, BirthdayCard 등)
- 접근성(a11y) 개선: aria-label, role 속성 추가
- Toast: role="alert", aria-live="polite"
- Lightbox: role="dialog", aria-modal, aria-label
- Calendar: 버튼 aria-label, aria-pressed, aria-expanded
- LightboxIndicator: aria-label, aria-current
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 12:33:26 +09:00
9d1f54c68a
refactor: 컴포넌트 폴더 구조 정리
...
- PC 컴포넌트를 components/pc/로 이동 (Calendar, ScheduleCard, BirthdayCard, CategoryFilter)
- Mobile 컴포넌트를 components/mobile/로 이동 (Mobile 접두사 제거)
- components/schedule/에는 공용 코드만 유지 (confetti.js, AdminScheduleCard)
- Schedule, Home 페이지의 import 경로 업데이트
- 관련 문서 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 12:08:47 +09:00