v4.0.0: 회원·덱 API, 인증 UI, 프로필 및 레이아웃 통일

Express/SQLite API와 Docker 구성을 추가하고 로그인·덱 저장·공개 덱·관리자·프로필 화면을 구현했다. 결과 화면 저장 UX, 헤더 프로필, 애드센스용 app-shell 레이아웃(1280px) 및 문서를 반영했다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-22 16:59:36 +09:00
parent f8c954f24b
commit dbf02241e2
56 changed files with 6732 additions and 183 deletions

View File

@@ -8,7 +8,9 @@
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Noto+Sans+KR:wght@400;700&display=swap" rel="stylesheet" />
<script src="/script/navigation.js"></script>
<title>UADECK V3.1.0 - Union Arena Deck Builder</title>
<script src="/script/api.js"></script>
<link rel="stylesheet" href="./style/auth-header.css" />
<title>UADECK V4.0.0 - Union Arena Deck Builder</title>
<style>
body {
@@ -62,14 +64,17 @@
</div>
<span class="text-xl font-extrabold tracking-tight text-slate-800">
UADECK
<span class="text-blue-600">v3.1.0</span>
<span class="text-blue-600">v4.0.0</span>
</span>
</div>
<div class="language-selector flex gap-1 p-1 bg-slate-100 rounded-xl">
<button type="button" onclick="changeLanguage('ko')" id="lang-ko" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">KO</button>
<button type="button" onclick="changeLanguage('ja')" id="lang-ja" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">JA</button>
<button type="button" onclick="changeLanguage('en')" id="lang-en" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">EN</button>
<div class="flex items-center gap-4">
<div class="language-selector flex gap-1 p-1 bg-slate-100 rounded-xl">
<button type="button" onclick="changeLanguage('ko')" id="lang-ko" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">KO</button>
<button type="button" onclick="changeLanguage('ja')" id="lang-ja" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">JA</button>
<button type="button" onclick="changeLanguage('en')" id="lang-en" class="rounded-lg px-4 py-1.5 text-xs font-bold transition-all cursor-pointer text-slate-500 hover:text-slate-800">EN</button>
</div>
<div id="auth-header-slot"></div>
</div>
</div>
</nav>
@@ -169,5 +174,6 @@
window.addEventListener('popstate', () => loadSeriesList());
loadSeriesList();
</script>
<script src="/script/auth-header.js"></script>
</body>
</html>