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>
This commit is contained in:
2026-09-16 21:24:17 +09:00
co-authored by Claude Fable 5.1
parent 506fbf601d
commit 9c6b28782d
32 changed files with 490 additions and 353 deletions
+4 -4
View File
@@ -3,8 +3,8 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<title>Frontend Template</title>
<link rel="icon" type="image/png" href="/favicon.png" />
<title>CodeAssist</title>
<script>
// FOUC 방지 — React 마운트 전 [data-theme] + .dark 미리 박음.
// 팔레트는 localStorage 'theme' 키, 다크모드는 'theme-store' (zustand persist).
@@ -21,10 +21,10 @@
}
document.documentElement.setAttribute("data-theme", pal)
var raw = localStorage.getItem("theme-store")
var mode = "light"
var mode = "dark" // 저장값 없으면 다크 (themeStore 기본과 동일)
if (raw) {
try {
mode = (JSON.parse(raw).state || {}).theme || "light"
mode = (JSON.parse(raw).state || {}).theme || "dark"
} catch (e) {}
}
var dark =