refactor(ui): 팝업 테마 SSOT 정합 + DS 데드코드 3종 제거 (WS1)

- theme-vars.ts dark/light POPUP_THEME_VARS를 theme.ts RAW와 값 정합:
  v1 잔존 주황(#f25b29) -> 파랑(dark #3b82f6 / light #2563eb),
  --d3-bg-card, --d3-text-dimLabel 동기화. 팝업=렌더러 색상 충돌 해소.
- DS 미사용 3종 제거: MetalDial, ButtonGroup, CrtDisplay + barrel export
  (렌더러 전체 import 0건 재검증)
- StatRing RING_COLORS hex 10종 -> d3roPalette.gradient.wave/tag 토큰
  (다크 고정 -> 테마 전환 대응)
SKIP: theme-vars 평행 SSOT 구조 단일화, theme.ts amber 별칭 제거
  (web/admin/site가 accent.amber 사용 -> 전체 치환 별도 wave)
정책: docs/REFACTOR_POLICY.md DP1, DP9
This commit is contained in:
Yun Chan 2026-07-22 01:53:59 +09:00
parent 4259cce9f5
commit b820c789bb
6 changed files with 41 additions and 324 deletions

View file

@ -49,46 +49,46 @@ interface PopupThemeVars {
const POPUP_THEME_VARS: Record<PopupThemeKey, PopupThemeVars> = {
dark: {
'--d3-bg-card': '#242427',
'--d3-bg-tip': 'rgba(0,0,0,0.85)',
'--d3-text-primary': 'rgba(255,255,255,0.87)',
'--d3-text-secondary': 'rgba(255,255,255,0.6)',
'--d3-text-inactive': 'rgba(255,255,255,0.3)',
'--d3-text-muted': 'rgba(255,255,255,0.25)',
'--d3-text-dimLabel': '#5c2615',
'--d3-border-default': 'rgba(255,255,255,0.08)',
'--d3-border-subtle': 'rgba(255,255,255,0.06)',
'--d3-border-strong': 'rgba(255,255,255,0.15)',
'--d3-accent-main': '#f25b29',
'--d3-accent-dim': 'rgba(242,91,41,0.08)',
'--d3-shadow-popup': '0 8px 32px rgba(0,0,0,0.5)',
'--d3-bg-result': '#1e1e1e',
'--d3-border-result': 'rgba(255,255,255,0.08)',
'--d3-text-result': 'rgba(255,255,255,0.87)',
'--d3-action-btn': 'rgba(255,255,255,0.4)',
'--d3-action-btn-hover-bg': 'rgba(255,255,255,0.08)',
'--d3-action-btn-hover': 'rgba(255,255,255,0.7)',
'--d3-bg-card': '#111a30',
'--d3-bg-tip': 'rgba(10,14,28,0.85)',
'--d3-text-primary': '#eef2fb',
'--d3-text-secondary': '#93a4c8',
'--d3-text-inactive': '#7385ab',
'--d3-text-muted': '#2b3550',
'--d3-text-dimLabel': '#4e5f85',
'--d3-border-default': 'rgba(148,180,255,0.12)',
'--d3-border-subtle': 'rgba(148,180,255,0.07)',
'--d3-border-strong': 'rgba(148,180,255,0.20)',
'--d3-accent-main': '#3b82f6',
'--d3-accent-dim': 'rgba(59,130,246,0.14)',
'--d3-shadow-popup': '0 8px 32px rgba(3,7,18,0.5)',
'--d3-bg-result': '#111a30',
'--d3-border-result': 'rgba(148,180,255,0.12)',
'--d3-text-result': '#eef2fb',
'--d3-action-btn': '#60a5fa',
'--d3-action-btn-hover-bg': 'rgba(59,130,246,0.14)',
'--d3-action-btn-hover': '#93a4c8',
},
light: {
'--d3-bg-card': '#ffffff',
'--d3-bg-tip': 'rgba(255,255,255,0.92)',
'--d3-text-primary': 'rgba(0,0,0,0.87)',
'--d3-text-secondary': 'rgba(0,0,0,0.6)',
'--d3-text-inactive': 'rgba(0,0,0,0.35)',
'--d3-text-muted': 'rgba(0,0,0,0.25)',
'--d3-text-dimLabel': '#b07040',
'--d3-border-default': 'rgba(0,0,0,0.10)',
'--d3-border-subtle': 'rgba(0,0,0,0.06)',
'--d3-border-strong': 'rgba(0,0,0,0.14)',
'--d3-accent-main': '#f25b29',
'--d3-accent-dim': 'rgba(242,91,41,0.08)',
'--d3-shadow-popup': '0 8px 32px rgba(0,0,0,0.12)',
'--d3-bg-tip': 'rgba(242,245,251,0.92)',
'--d3-text-primary': '#111827',
'--d3-text-secondary': '#4b5a75',
'--d3-text-inactive': '#8593ab',
'--d3-text-muted': '#c3cddd',
'--d3-text-dimLabel': '#5a6f96',
'--d3-border-default': 'rgba(30,58,138,0.12)',
'--d3-border-subtle': 'rgba(30,58,138,0.07)',
'--d3-border-strong': 'rgba(30,58,138,0.20)',
'--d3-accent-main': '#2563eb',
'--d3-accent-dim': 'rgba(37,99,235,0.10)',
'--d3-shadow-popup': '0 8px 32px rgba(30,58,138,0.12)',
'--d3-bg-result': '#ffffff',
'--d3-border-result': 'rgba(0,0,0,0.08)',
'--d3-text-result': 'rgba(0,0,0,0.87)',
'--d3-action-btn': 'rgba(0,0,0,0.4)',
'--d3-action-btn-hover-bg': 'rgba(0,0,0,0.06)',
'--d3-action-btn-hover': 'rgba(0,0,0,0.7)',
'--d3-border-result': 'rgba(30,58,138,0.12)',
'--d3-text-result': '#111827',
'--d3-action-btn': '#3b82f6',
'--d3-action-btn-hover-bg': 'rgba(37,99,235,0.10)',
'--d3-action-btn-hover': '#4b5a75',
},
nord: {
'--d3-bg-card': '#3b4252',