From c294df5987454161c28c734c2535830daf6e53a2 Mon Sep 17 00:00:00 2001 From: Hyungi Ahn Date: Tue, 7 Apr 2026 12:14:48 +0900 Subject: [PATCH] =?UTF-8?q?refactor(tokens):=20A-8=20Batch=203=20=E2=80=94?= =?UTF-8?q?=20PreviewPanel=20/=20DocumentViewer=20/=20+layout(toast)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 가장 큰 위험 batch. Phase A 디자인 시스템 정착 마지막 mechanical refactor (8 파일 8/8 누적 — core components 0 hit 달성). PreviewPanel (53 hits → 0): - bg-[var(--sidebar-bg)] → bg-sidebar (메인 aside) - bg-[var(--bg)] → bg-bg (input 배경) - bg-[var(--surface)] → bg-surface (hover) - bg-[var(--accent)] → bg-accent + hover:bg-accent-hover (저장 버튼) - bg-[var(--error)] → bg-error (삭제 확인) - text/border 토큰 일괄 swap - focus:border-accent (input) - confidence 색상 (green/amber/red palette)은 plan B3 명시 없어 그대로 DocumentViewer (28 hits → 0): - 뷰어 본체 bg-surface border-default - 툴바 bg-sidebar - 마크다운 편집 탭 bg-surface, edit textarea bg-bg - 상태별 hover 토큰 swap - 뉴스 article 태그 blue-900/30 그대로 (lint:tokens 미검출) +layout.svelte (10 hits → 0): - nav 잔여 var() (햄버거, 로고, 메뉴 링크) 토큰 swap - 로딩 텍스트 text-dim - toast 영역 의미 swap (plan B3 명시): * green-900/200 → bg-success/10 + text-success + border-success/30 * red-900/200 → bg-error/10 + text-error + border-error/30 * yellow-900/200 → bg-warning/10 + text-warning + border-warning/30 * blue-900/200 → bg-accent/10 + text-accent + border-accent/30 - class:* 디렉티브 8개 → script TOAST_CLASS dict + dynamic class binding (svelte 5에서 슬래시 포함 클래스명을 class: 디렉티브로 못 씀) 검증: - npm run lint:tokens : 360 → 269 (-91, B3 파일 0 hit) - 누적 진행: 421 → 269 (-152 / 8 파일 완료, plan 정정 목표 정확 달성) - npm run build : ✅ - npx svelte-check : ✅ 0 errors - ⚠ 3-risk grep : hover/border-border/var() 잔여 0건 A-8 종료 시점 상태: - core components 8 파일: lint:tokens 0 hit ✅ - routes 7 파일 잔존 (~269): news 92, settings 47, documents/[id] 36, +page 28, documents 26, inbox 25, login 15 - lint:tokens 강제화 (pre-commit hook)는 Phase D + F 완료 후 별도 commit 플랜: ~/.claude/plans/compressed-churning-dragon.md §A.4 Batch 3 --- .../src/lib/components/DocumentViewer.svelte | 40 ++++----- .../src/lib/components/PreviewPanel.svelte | 86 +++++++++---------- frontend/src/routes/+layout.svelte | 37 ++++---- 3 files changed, 82 insertions(+), 81 deletions(-) diff --git a/frontend/src/lib/components/DocumentViewer.svelte b/frontend/src/lib/components/DocumentViewer.svelte index a0387d1..aaa60b9 100644 --- a/frontend/src/lib/components/DocumentViewer.svelte +++ b/frontend/src/lib/components/DocumentViewer.svelte @@ -116,29 +116,29 @@ -
+
{#if fullDoc && !loading} -
- {fullDoc.title || '제목 없음'} +
+ {fullDoc.title || '제목 없음'}
{#if viewerType === 'markdown'} {#if editMode} {:else} {/if} {/if} @@ -147,14 +147,14 @@ href={editInfo.url} target="_blank" rel="noopener" - class="flex items-center gap-1 px-2 py-1 text-xs text-[var(--text-dim)] hover:text-[var(--accent)] border border-[var(--border)] rounded" + class="flex items-center gap-1 px-2 py-1 text-xs text-dim hover:text-accent border border-default rounded" > {editInfo.label} {/if} 전체 보기
@@ -164,27 +164,27 @@
{#if loading}
-

로딩 중...

+

로딩 중...

{:else if fullDoc} {#if viewerType === 'markdown'} {#if editMode}
-
+
{#if editTab === 'edit'} {:else} @@ -221,22 +221,22 @@
{:else if viewerType === 'text'}
-
{fullDoc.extracted_text || '텍스트 없음'}
+
{fullDoc.extracted_text || '텍스트 없음'}
{:else if viewerType === 'cad'}
-

CAD 미리보기 (향후 지원 예정)

+

CAD 미리보기 (향후 지원 예정)

AutoCAD Web에서 열기
{:else if viewerType === 'article'}

{fullDoc.title}

-
+
{#if fullDoc.ai_tags?.length} {#each fullDoc.ai_tags.filter(t => t.startsWith('News/')) as tag} {tag.replace('News/', '')} @@ -247,13 +247,13 @@
{@html renderMd(fullDoc.extracted_text || '')}
-
+
{#if fullDoc.edit_url} 원문 보기 @@ -262,7 +262,7 @@
{:else}
-

미리보기를 지원하지 않는 형식입니다 ({fullDoc.file_format})

+

미리보기를 지원하지 않는 형식입니다 ({fullDoc.file_format})

{/if} {/if} diff --git a/frontend/src/lib/components/PreviewPanel.svelte b/frontend/src/lib/components/PreviewPanel.svelte index 2739fb3..af5118c 100644 --- a/frontend/src/lib/components/PreviewPanel.svelte +++ b/frontend/src/lib/components/PreviewPanel.svelte @@ -125,18 +125,18 @@ } -