From 109c0d24804207b45b353153fa786e1e39e43b79 Mon Sep 17 00:00:00 2001 From: leedano Date: Tue, 7 Apr 2026 17:30:42 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat(design):=20=EB=94=94=EC=9E=90=EC=9D=B8?= =?UTF-8?q?=20=EC=8B=9C=EC=8A=A4=ED=85=9C=20=ED=86=A0=ED=81=B0=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9=20=EB=B0=8F=20Float=20=EC=B9=B4=ED=83=88=EB=A1=9C?= =?UTF-8?q?=EA=B7=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLAUDE.md | 19 + frontend/index.html | 2 +- frontend/public/favicon.svg | 5 + .../src/common/components/auth/LoginPage.tsx | 30 +- .../src/common/components/layer/LayerTree.tsx | 4 +- .../components/map/BacktrackReplayBar.tsx | 8 +- .../src/common/components/map/MapView.tsx | 1370 ++++++---- .../common/components/map/MeasureOverlay.tsx | 2 +- .../src/common/components/ui/ComboBox.tsx | 4 +- .../common/components/ui/UserManualPopup.tsx | 64 +- frontend/src/common/store/mapStore.ts | 46 +- frontend/src/common/styles/base.css | 1 + frontend/src/common/styles/wing.css | 26 +- .../src/pages/design/ComponentsContent.tsx | 4 +- .../src/pages/design/ComponentsOverview.tsx | 111 +- frontend/src/pages/design/DesignContent.tsx | 48 +- frontend/src/pages/design/DesignHeader.tsx | 4 +- frontend/src/pages/design/DesignPage.tsx | 3 + frontend/src/pages/design/DesignSidebar.tsx | 3 +- frontend/src/pages/design/FloatContent.tsx | 100 + frontend/src/pages/design/LayoutContent.tsx | 1430 +++++++--- frontend/src/pages/design/RadiusContent.tsx | 6 +- .../src/pages/design/TypographyContent.tsx | 12 +- .../components/ButtonCatalogSection.tsx | 30 +- .../pages/design/components/CardSection.tsx | 14 +- .../design/components/IconBadgeSection.tsx | 12 +- frontend/src/pages/design/designTheme.ts | 14 +- .../design/float/FloatDropdownContent.tsx | 440 ++++ .../pages/design/float/FloatModalContent.tsx | 668 +++++ .../design/float/FloatOverlayContent.tsx | 428 +++ .../pages/design/float/FloatToastContent.tsx | 427 +++ .../admin/components/AdminPlaceholder.tsx | 2 +- .../tabs/admin/components/AdminSidebar.tsx | 10 +- .../admin/components/AssetUploadPanel.tsx | 18 +- .../tabs/admin/components/BoardMgmtPanel.tsx | 4 +- .../admin/components/CleanupEquipPanel.tsx | 60 +- .../tabs/admin/components/CollectHrPanel.tsx | 4 +- .../admin/components/DispersingZonePanel.tsx | 12 +- .../src/tabs/admin/components/LayerPanel.tsx | 44 +- .../tabs/admin/components/MapBasePanel.tsx | 18 +- .../src/tabs/admin/components/MenusPanel.tsx | 4 +- .../admin/components/MonitorVesselPanel.tsx | 8 +- .../admin/components/PermissionsPanel.tsx | 82 +- .../admin/components/SensitiveLayerPanel.tsx | 36 +- .../tabs/admin/components/SettingsPanel.tsx | 20 +- .../admin/components/SortableMenuItem.tsx | 14 +- .../src/tabs/admin/components/UsersPanel.tsx | 126 +- .../admin/components/VesselMaterialsPanel.tsx | 60 +- .../admin/components/VesselSignalPanel.tsx | 8 +- .../aerial/components/AerialTheoryView.tsx | 1948 ++++++++++---- .../src/tabs/aerial/components/CCTVPlayer.tsx | 73 +- .../src/tabs/aerial/components/CctvView.tsx | 1417 +++++++--- .../aerial/components/MediaManagement.tsx | 106 +- .../aerial/components/OilAreaAnalysis.tsx | 28 +- .../aerial/components/OilDetectionOverlay.tsx | 30 +- .../tabs/aerial/components/RealtimeDrone.tsx | 764 ++++-- .../aerial/components/SatelliteRequest.tsx | 2322 ++++++++++++----- .../tabs/aerial/components/SensorAnalysis.tsx | 87 +- .../src/tabs/aerial/components/WingAI.tsx | 1472 ++++++++--- .../assets/components/AssetManagement.tsx | 107 +- .../src/tabs/assets/components/AssetMap.tsx | 127 +- .../tabs/assets/components/AssetTheory.tsx | 144 +- .../tabs/assets/components/AssetUpload.tsx | 18 +- .../src/tabs/assets/components/AssetsView.tsx | 18 +- .../tabs/assets/components/ShipInsurance.tsx | 120 +- .../src/tabs/assets/components/assetTypes.ts | 25 +- .../tabs/board/components/BoardDetailView.tsx | 32 +- .../tabs/board/components/BoardListTable.tsx | 62 +- .../src/tabs/board/components/BoardView.tsx | 292 +-- .../tabs/board/components/BoardWriteForm.tsx | 70 +- .../tabs/hns/components/HNSSubstanceView.tsx | 104 +- .../src/tabs/hns/components/HNSTheoryView.tsx | 7 +- frontend/src/tabs/hns/components/HNSView.tsx | 4 +- .../components/DischargeZonePanel.tsx | 35 +- .../components/IncidentsLeftPanel.tsx | 72 +- .../components/IncidentsRightPanel.tsx | 50 +- .../incidents/components/IncidentsView.tsx | 1106 ++++---- .../tabs/incidents/components/MediaModal.tsx | 98 +- .../prediction/components/BacktrackModal.tsx | 42 +- .../components/OilSpillTheoryView.tsx | 6 +- .../prediction/components/RecalcModal.tsx | 18 +- .../tabs/prediction/components/RightPanel.tsx | 2 +- .../components/OilSpillReportTemplate.tsx | 76 +- .../reports/components/OilSpreadMapPanel.tsx | 46 +- .../reports/components/ReportGenerator.tsx | 167 +- .../tabs/reports/components/ReportsView.tsx | 132 +- .../reports/components/TemplateEditPage.tsx | 76 +- .../reports/components/TemplateFormEditor.tsx | 79 +- .../tabs/reports/components/reportTypes.ts | 12 +- .../rescue/components/RescueScenarioView.tsx | 394 ++- .../rescue/components/RescueTheoryView.tsx | 711 +++-- .../src/tabs/rescue/components/RescueView.tsx | 526 ++-- .../tabs/scat/components/ScatLeftPanel.tsx | 36 +- frontend/src/tabs/scat/components/ScatMap.tsx | 287 +- .../src/tabs/scat/components/ScatPopup.tsx | 75 +- .../tabs/scat/components/ScatRightPanel.tsx | 67 +- .../src/tabs/scat/components/ScatTimeline.tsx | 12 +- .../weather/components/WeatherMapOverlay.tsx | 12 +- .../weather/components/WeatherRightPanel.tsx | 92 +- .../tabs/weather/components/WeatherView.tsx | 275 +- frontend/tailwind.config.js | 4 + scripts/fix-satellite-request.mjs | 258 ++ 102 files changed, 13635 insertions(+), 6373 deletions(-) create mode 100644 frontend/public/favicon.svg create mode 100644 frontend/src/pages/design/FloatContent.tsx create mode 100644 frontend/src/pages/design/float/FloatDropdownContent.tsx create mode 100644 frontend/src/pages/design/float/FloatModalContent.tsx create mode 100644 frontend/src/pages/design/float/FloatOverlayContent.tsx create mode 100644 frontend/src/pages/design/float/FloatToastContent.tsx create mode 100644 scripts/fix-satellite-request.mjs diff --git a/CLAUDE.md b/CLAUDE.md index 991cbe0..348f5b3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -125,6 +125,25 @@ wing/ - API 인터페이스 변경 시 `memory/api-types.md` 갱신 - 개별 탭 개발자는 공통 가이드를 참조하여 연동 구현 +## 진행 중 작업 (완료 후 삭제) + +### 디자인 시스템 폰트+색상 통일 작업 + +compact 후 반드시 `memory/design-system-work.md`를 읽고 작업 상태(완료/미완료 컴포넌트)를 확인할 것. + +**색상 규칙:** +- 하드코딩 색상(`#ef4444`, `#a855f7` 등) → CSS 변수 전환 +- `rgba(59,130,246,...)` 등 비-accent 계열 → `rgba(6,182,212,...)` (accent cyan) +- 시맨틱 컬러(`color-accent`, `color-info`, `color-caution` 등)는 다양하게 사용 가능하되, 강조 색상은 **최대 2가지**로 제한 +- `linear-gradient` → 단색으로 단순화 +- 장식용 `border-top`, `border-left` → 제거 여부를 유저에게 확인 후 진행 + +**폰트 규칙:** +- 하드코딩 `fontSize`/`fontWeight` → Tailwind 토큰 (`text-title-2`, `text-caption` 등) +- `fontFamily: monospace` → `var(--font-mono)` +- `fontFamily: sans-serif` / `'Noto Sans KR'` → `var(--font-korean)` +- 인라인 `style={{ fontSize, padding }}` → Tailwind 클래스 전환 (가능한 범위) + ## 환경 설정 - Node.js 20 (`.node-version`, fnm 사용) diff --git a/frontend/index.html b/frontend/index.html index c8e4e5e..4afe225 100755 --- a/frontend/index.html +++ b/frontend/index.html @@ -2,7 +2,7 @@ - + diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg new file mode 100644 index 0000000..ed27e41 --- /dev/null +++ b/frontend/public/favicon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/frontend/src/common/components/auth/LoginPage.tsx b/frontend/src/common/components/auth/LoginPage.tsx index 9e4b583..6413cf1 100644 --- a/frontend/src/common/components/auth/LoginPage.tsx +++ b/frontend/src/common/components/auth/LoginPage.tsx @@ -113,7 +113,7 @@ export function LoginPage() { {/* User ID */}