# 파일-화면 매핑 가이드 ## `/` - 진입 파일: `index.html` - 화면 역할: 시리즈 선택 홈 화면 - 연결: `script/auth-header.js`, `script/api.js` ## `/cardList.html?series=&d=` - 진입 파일: `cardList.html` - 화면 역할: 카드 검색·필터·덱 편집·저장·공유 - `?d=` 있으면 API에서 덱 복원 - 연결: `datas/.js`, `script/api.js` ## `/result.html` - 진입 파일: `result.html` - 화면 역할: 덱 미리보기·PNG 저장·내 덱 저장 - 데이터 소스: `localStorage.selectedCards` - 하단 고정 바: `홈으로` | `이미지로 다운로드` | `내 덱으로 저장` (공개 여부 확인 모달) - `script/deck-prefs.js`: 덱 공개 기본값·프롬프트 설정 ## `/d/` (Nginx 리다이렉트) - `nginx/uadeck.conf` 규칙으로 `cardList.html?d=` 로 이동 - 옆 프로젝트 연동: `GET /api/v1/decks/` ## `/login.html`, `/signup.html` - 인증 화면 - 연결: `script/page-i18n.js` (`data-i18n` 속성) ## `/profile.html` (내 프로필) - 로그인 사용자: 이메일·사용자명·프로필 사진·비밀번호 변경 - 연결: `script/api.js` (`updateProfile`, `changePassword`), `script/image-utils.js`, `script/page-i18n.js`, `script/ads.js`, `style/profile.css` ## `/deckHistory.html` - 로그인 사용자의 저장 덱 목록·불러오기·삭제 - 카드 그리드 + 미리보기 썸네일 (`preview_url`), 클릭·길게 눌러 확대 (`deck-preview-hold.js`) - 시리즈 필터·검색 (`style/deck-history.css`) - 연결: `script/page-i18n.js`, `script/ads.js` (우측 AdSense `4260332296`) ## `/preset.html` (공개 덱) - 사용자가 공개 전환한 덱 목록 (카드 그리드) - 썸네일 클릭·길게 눌러 확대 (`deck-preview-hold.js`, 안내 문구 없음) - API: `GET /api/v1/decks/presets` → `is_public=1` user 덱 - 연결: `script/page-i18n.js`, `script/ads.js` ## `/admin.html` - 관리자: 회원 관리, 덱 관리 (`style/admin.css`) ## API (`api/`) - Docker: `docker-compose.yml` - 엔드포인트 베이스: `/api/v1` ## 공통 - `style/app-shell.css`: 헤더·본문 최대 너비 1280px (`max-w-7xl`), 데스크톱 우측 광고 레일 - `script/ads.js`: Google AdSense `ins.adsbygoogle` 슬롯 초기화 - `script/page-help.js`: 페이지 제목 `?` 툴팁 - `script/page-i18n.js`: `data-i18n` / `data-i18n-html` / `data-i18n-placeholder`, `UaPageI18n.t()` - `script/deck-favorites.js`: 덱 즐겨찾기 (localStorage) - `script/deck-preview-hold.js`: 덱 썸네일 길게 눌러 확대 (내 덱·공개 덱) - `style/brand.css`: 헤더 UNIARE 로고 크기 통일 (32px) - `script/api.js`: API 클라이언트 (`updateProfile`, `changePassword` 포함) - `script/auth-header.js`: 헤더 프로필 드롭다운 (i18n), 로그인 시 **썸네일 옆 닉네임** 표시 (`auth-profile-trigger`) - `script/image-utils.js`: 클라이언트 이미지 PNG 리사이즈 (`UaImageUtils.resizeImageToPng`) - `style/auth-header.css`