Files
CODE_ASSISTANT/2_frontend/index.html
T
leehc991028andClaude Fable 5.1 9c6b28782d style(frontend): ABAP_OPENCODE 디자인 시스템으로 맞춤 + 화면 재구성
DESIGN_SYSTEM.md 의 Dark Workspace 토큰을 shadcn 토큰으로 이식(다크 기본, radius 8px,
success/warning/shadow-float), 시스템 산세리프, PwC 로고(LogoMark). 목록·새 대화·대화·
로그인 화면을 가운데 760px 열로 통일하고, 떠 있던 테마·로그아웃 상자는 상단 바로,
말풍선은 다크 토큰(AI 답변은 상자 없이), ABAP 흰 에디터 룩은 라이트 모드에서만.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-16 21:24:17 +09:00

46 lines
1.8 KiB
HTML

<!doctype html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/png" href="/favicon.png" />
<title>CodeAssist</title>
<script>
// FOUC 방지 — React 마운트 전 [data-theme] + .dark 미리 박음.
// 팔레트는 localStorage 'theme' 키, 다크모드는 'theme-store' (zustand persist).
;(function () {
try {
var pal = localStorage.getItem("theme") || "clean-blue"
// 이전 기본 베이지는 한 번만 교체. 이후 직접 고른 팔레트는 유지.
if (!localStorage.getItem("clean-blue-default-v1")) {
if (pal === "warm-tan") {
pal = "clean-blue"
localStorage.setItem("theme", pal)
}
localStorage.setItem("clean-blue-default-v1", "1")
}
document.documentElement.setAttribute("data-theme", pal)
var raw = localStorage.getItem("theme-store")
var mode = "dark" // 저장값 없으면 다크 (themeStore 기본과 동일)
if (raw) {
try {
mode = (JSON.parse(raw).state || {}).theme || "dark"
} catch (e) {}
}
var dark =
mode === "dark" ||
(mode === "system" &&
window.matchMedia &&
matchMedia("(prefers-color-scheme: dark)").matches)
if (dark) document.documentElement.classList.add("dark")
document.documentElement.style.colorScheme = dark ? "dark" : "light"
} catch (e) {}
})()
</script>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>