From beacc2e26b4670a273662c0800f43e7bd7baf665 Mon Sep 17 00:00:00 2001 From: catlog22 Date: Mon, 8 Dec 2025 23:50:50 +0800 Subject: [PATCH] Fix icon duplications and add navigation color scheme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add color variables for navigation items (info, indigo, orange) - Apply distinct colors to navigation items: * Active: green * Archived: blue * Lite Plan: indigo * Lite Fix: orange - Fix icon conflicts in review session: * Change Dimensions icon from 📋 to 🎯 * Change Location icon from 📄 to 📍 * Change Root Cause icon from 🔍 to 🎯 - Add active state styles for each navigation item type - Support both light and dark themes --- ccw/src/templates/dashboard-css/01-base.css | 33 +++++++++++++++++++ .../dashboard-js/views/review-session.js | 6 ++-- ccw/src/templates/dashboard.html | 32 ++++++++++++++---- 3 files changed, 62 insertions(+), 9 deletions(-) diff --git a/ccw/src/templates/dashboard-css/01-base.css b/ccw/src/templates/dashboard-css/01-base.css index d35f139d..ed9ff16b 100644 --- a/ccw/src/templates/dashboard-css/01-base.css +++ b/ccw/src/templates/dashboard-css/01-base.css @@ -75,6 +75,39 @@ body { color: white; } +/* Nav item specific color active states */ +.nav-item[data-filter="active"].active { + background-color: hsl(var(--success-light)); +} + +.nav-item[data-filter="active"].active .nav-icon { + color: hsl(var(--success)); +} + +.nav-item[data-filter="archived"].active { + background-color: hsl(var(--info-light)); +} + +.nav-item[data-filter="archived"].active .nav-icon { + color: hsl(var(--info)); +} + +.nav-item[data-lite="lite-plan"].active { + background-color: hsl(var(--indigo-light)); +} + +.nav-item[data-lite="lite-plan"].active .nav-icon { + color: hsl(var(--indigo)); +} + +.nav-item[data-lite="lite-fix"].active { + background-color: hsl(var(--orange-light)); +} + +.nav-item[data-lite="lite-fix"].active .nav-icon { + color: hsl(var(--orange)); +} + .sidebar.collapsed .toggle-icon { transform: rotate(180deg); } diff --git a/ccw/src/templates/dashboard-js/views/review-session.js b/ccw/src/templates/dashboard-js/views/review-session.js index 35e8114f..f74c61b1 100644 --- a/ccw/src/templates/dashboard-js/views/review-session.js +++ b/ccw/src/templates/dashboard-js/views/review-session.js @@ -113,7 +113,7 @@ function renderReviewSessionDetailPage(session) {
High
-
📋
+
🎯
${dimensions.length}
Dimensions
@@ -329,7 +329,7 @@ function previewReviewSessionFinding(findingId) { ${finding.file ? `
-
📄 Location
+
📍 Location
${escapeHtml(finding.file)}${finding.line ? ':' + finding.line : ''}
@@ -359,7 +359,7 @@ function previewReviewSessionFinding(findingId) { ${finding.root_cause ? `
-
🔍 Root Cause
+
🎯 Root Cause
${escapeHtml(finding.root_cause)}
` : ''} diff --git a/ccw/src/templates/dashboard.html b/ccw/src/templates/dashboard.html index 2de926a6..e1e96be4 100644 --- a/ccw/src/templates/dashboard.html +++ b/ccw/src/templates/dashboard.html @@ -18,9 +18,11 @@ 'bg-card', 'bg-background', 'bg-hover', 'bg-accent', 'bg-muted', 'bg-primary', 'bg-success', 'bg-warning', 'bg-success-light', 'bg-warning-light', 'bg-primary-light', 'bg-sidebar-background', 'bg-destructive', 'bg-destructive/5', 'bg-destructive/10', 'bg-warning/5', + 'bg-info', 'bg-info-light', 'bg-indigo', 'bg-indigo-light', 'bg-orange', 'bg-orange-light', // Text colors 'text-foreground', 'text-muted-foreground', 'text-primary', 'text-card-foreground', 'text-success', 'text-warning', 'text-primary-foreground', 'text-accent-foreground', 'text-sidebar-foreground', 'text-destructive', + 'text-info', 'text-indigo', 'text-orange', // Border colors 'border', 'border-border', 'border-primary', 'border-success', 'border-warning', 'border-muted', 'border-l-success', 'border-l-warning', 'border-l-muted-foreground', 'border-l-primary', @@ -74,6 +76,12 @@ 'success-light': 'hsl(var(--success-light))', warning: 'hsl(var(--warning))', 'warning-light': 'hsl(var(--warning-light))', + info: 'hsl(var(--info))', + 'info-light': 'hsl(var(--info-light))', + indigo: 'hsl(var(--indigo))', + 'indigo-light': 'hsl(var(--indigo-light))', + orange: 'hsl(var(--orange))', + 'orange-light': 'hsl(var(--orange-light))', }, fontFamily: { sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'], @@ -117,6 +125,12 @@ --success-light: 142 76% 90%; --warning: 38 92% 50%; --warning-light: 48 96% 89%; + --info: 210 80% 55%; + --info-light: 210 80% 92%; + --indigo: 239 65% 60%; + --indigo-light: 239 65% 92%; + --orange: 25 90% 55%; + --orange-light: 25 90% 92%; } /* Dark Mode */ @@ -146,6 +160,12 @@ --success-light: 142 50% 20%; --warning: 38 85% 45%; --warning-light: 40 50% 20%; + --info: 210 75% 50%; + --info-light: 210 50% 20%; + --indigo: 239 60% 55%; + --indigo-light: 239 40% 20%; + --orange: 25 85% 50%; + --orange-light: 25 50% 20%; } /* Scrollbar styling */ @@ -322,9 +342,9 @@ 0
@@ -337,14 +357,14 @@