- types.ts: DeviceSummary/MOCK_DEVICES/SERVICE_FILTER_OPTIONS 삭제, swagger 기준 snake_case 타입 추가 (DeviceListItem, DeviceListRequest 등)
- device.api.ts: 신규 생성 (fetchDevices, deleteDevice, exportDevices)
- DeviceListPage.tsx: Mock → loadData/useCallback 서버 필터링, fetchServices로 서비스 목록 로드, 엑셀 내보내기 구현
- DeviceSlidePanel.tsx: DeviceListItem 타입 적용, deleteDevice API 호출 연동
Closes#37
- 타입 + 상수 + 목 데이터 정의 (DeviceSummary, 10건)
- Device ID / Push Token 토글 팝오버 셀 구현 (SecretToggleCell)
- 슬라이드 패널 상세 + 삭제 확인 모달 구현 (DeviceSlidePanel)
- 목록 페이지 구현 (필터 4개 + 8컬럼 테이블 + 스켈레톤 + 페이지네이션)
- PlatformBadge 아이콘 전용으로 수정
- FilterDropdown 드롭다운 옵션 중앙 정렬
Closes#21
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>