- 조회 클릭 시 전체 필터 비활성화 (날짜/드롭다운/초기화/조회)
- 각 위젯 로딩 오버레이 및 스켈레톤 추가
- 조회 완료 시 랜덤 Mock 데이터로 갱신
- 공통 컴포넌트(FilterDropdown, DateRangeInput, FilterResetButton)에 disabled prop 추가
- StatsCards 뱃지 아이콘 크기 및 중앙 정렬 개선
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 회원가입 API 연동 (POST /v1/in/auth/signup)
- 로그인 API 연동 (POST /v1/in/auth/login, next_action 분기)
- 이메일 인증 API 연동 (POST /v1/in/auth/email/verify, /resend)
- API 타입 swagger 스펙에 맞게 수정 (ApiResponse, auth types)
- User 타입 백엔드 AdminInfo 기반으로 변경
- authStore localStorage 영속화 (새로고침 시 인증 유지)
- Vite dev 프록시 설정 (/v1 → devspms)
Closes#7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
정지된 컨테이너에 docker cp하면 바인드 마운트에 반영되지 않아
호스트 볼륨의 옛날 소스로 빌드되는 문제 해결.
임시 alpine 컨테이너를 통해 호스트 볼륨에 직접 복사하도록 변경.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- LoginPage: react-hook-form + zod 유효성검사, 비밀번호 토글, shake 애니메이션,
로그인 성공/실패 처리, 성공 오버레이
- SignupPage: 이메일/비밀번호/이름/전화번호 실시간 검증, 전화번호 자동 하이픈,
약관 동의 체크박스, 인증 메일 전송 모달, 이용약관/개인정보 모달
- VerifyEmailPage: 6자리 코드 입력(자동 포커스/붙여넣기), 인증 성공/실패,
재전송 60초 쿨다운, 인증 완료 모달 + 홈 이동 오버레이
- ResetPasswordModal: 비밀번호 재설정 이메일 발송, sonner 토스트
- AuthLayout: flex 기반 풋터 위치 수정 (콘텐츠 중앙 + 풋터 하단)
- 라우터: verify-email 가드 추가 (인증 완료 시 홈 리다이렉트)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Vite 기본 템플릿 정리 및 index.html 수정
- guideline.html 기반 디자인 토큰 적용 (index.css)
- Feature-based 폴더 구조 (8개 feature 모듈)
- 18개 placeholder 페이지 + lazy loading 라우터
- 레이아웃 컴포넌트 (AppLayout, AppHeader, AppSidebar, AuthLayout)
- Zustand 스토어 (authStore, uiStore)
- API 계층 (Axios client, auth.api)
- 타입 정의, 유틸리티, 환경변수 설정
- ErrorBoundary, ProtectedRoute, PublicRoute
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>