## Summary Complete sidebar redesign and comprehensive UI polish pass with performance optimizations, theme system refinements, and desktop integration improvements. ## Key Changes **Sidebar & Navigation Redesign** - Redesigned sessions sidebar layout with unified button primitives - Added activity sections with project grouping and improved session organization - Refined sidebar corners, spacing, and visual hierarchy - Removed NavRail component in favor of streamlined sidebar - Stabilized sessions bar toggle position in fullscreen mode **Performance Optimizations** - Reduced chat streaming CPU usage and storage churn - Optimized task tool polling and live timers with debouncing - Prevented chat state races and reduced background request load - Debounced draft writes and coalesced session reloads - Optimized message store updates and turn tracking **Theme & Visual System** - Added theme-aware window corners (desktop) and border radius tokens - Introduced glassmorphism effects on desktop sidebar - Added backdrop blur to UI elements **Chat Experience** - Added session-based permission auto-accept toggle in chat input - Polished permission shield UX with improved icon sizing and spacing - Fixed chat scroll-to-bottom behavior and timeline tracking - Enhanced tool output display with better path label detection - Removed duplicate draft context details in chat header - Added text selection menu to chat messages **Git Improvements** - Refreshed git history visual design with cleaner dividers - Added remote removal action in sync selector - Stabilized git polling to prevent excessive requests - Improved tool output rendering for git operations **Settings & Panels** - Fixed mobile scrolling on settings pages - Made outside-click settings close instantly - Reduced settings load churn and CPU spikes - Improved services dropdown layout and spacing - Softened panel resize handles **Desktop Integration** - Synced macOS window theme with app theme - Restored window dragging in sidebar header zones - Fixed system window corners on macOS - Improved header session metadata and action controls **Button & Component Standardization** - Unified button primitives across all components - Standardized destructive action patterns - Removed unused button variants (button-large, button-small) - Aligned context tab close hit areas --------- Co-authored-by: Iuliia Ivashko <yulia.ivashko@gmail.com>
184 lines
4.8 KiB
JSON
184 lines
4.8 KiB
JSON
{
|
|
"metadata": {
|
|
"id": "nord-light",
|
|
"name": "Nord",
|
|
"description": "Nord",
|
|
"version": "1.0.0",
|
|
"variant": "light",
|
|
"tags": [ "light", "palette" ]
|
|
},
|
|
"colors": {
|
|
"primary": {
|
|
"base": "#5E81AC",
|
|
"hover": "#7A97BA",
|
|
"active": "#557399",
|
|
"foreground": "#ECEFF4",
|
|
"muted": "#5E81AC80",
|
|
"emphasis": "#7A97BA"
|
|
},
|
|
"surface": {
|
|
"background": "#ECEFF4",
|
|
"foreground": "#2E3440",
|
|
"muted": "#E4E8F090",
|
|
"mutedForeground": "#6e7481",
|
|
"elevated": "#e7ebf590",
|
|
"elevatedForeground": "#2E3440",
|
|
"overlay": "#1F253020",
|
|
"subtle": "#dee4f0"
|
|
},
|
|
"interactive": {
|
|
"border": "#c5cbd6",
|
|
"borderHover": "#C9D0DE",
|
|
"borderFocus": "#9CA4BA",
|
|
"selection": "#c6ccd881",
|
|
"selectionForeground": "#1F2530",
|
|
"focus": "#5E81AC",
|
|
"focusRing": "#5E81AC40",
|
|
"cursor": "#1F2530",
|
|
"hover": "#c6ccd84a",
|
|
"active": "#c6ccd881"
|
|
},
|
|
"status": {
|
|
"error": "#BF616A",
|
|
"errorForeground": "#ECEFF4",
|
|
"errorBackground": "#BF616A20",
|
|
"errorBorder": "#BF616A50",
|
|
"warning": "#D08770",
|
|
"warningForeground": "#ECEFF4",
|
|
"warningBackground": "#D0877020",
|
|
"warningBorder": "#D0877050",
|
|
"success": "#8FBCBB",
|
|
"successForeground": "#ECEFF4",
|
|
"successBackground": "#8FBCBB20",
|
|
"successBorder": "#8FBCBB50",
|
|
"info": "#81A1C1",
|
|
"infoForeground": "#ECEFF4",
|
|
"infoBackground": "#81A1C120",
|
|
"infoBorder": "#81A1C150"
|
|
},
|
|
"pr": {
|
|
"open": "#8FBCBB",
|
|
"draft": "#4C566A",
|
|
"blocked": "#D08770",
|
|
"merged": "#9b5eac",
|
|
"closed": "#BF616A"
|
|
},
|
|
"syntax": {
|
|
"base": {
|
|
"background": "#E4E8F0",
|
|
"foreground": "#2E3440",
|
|
"comment": "#4C566A",
|
|
"keyword": "#5E81AC",
|
|
"string": "#A3BE8C",
|
|
"number": "#BF616A",
|
|
"function": "#5E81AC",
|
|
"variable": "#2E3440",
|
|
"type": "#D08770",
|
|
"operator": "#BF616A"
|
|
},
|
|
"tokens": {
|
|
"boolean": "#D08770",
|
|
"class": "#5E81AC",
|
|
"className": "#5E81AC",
|
|
"commentDoc": "#9CA3AF",
|
|
"constant": "#81A1C1",
|
|
"decorator": "#D08770",
|
|
"enum": "#5E81AC",
|
|
"exception": "#BF616A",
|
|
"functionCall": "#5E81AC",
|
|
"interface": "#D08770",
|
|
"jsxTag": "#5E81AC",
|
|
"key": "#5E81AC",
|
|
"keywordImport": "#BF616A",
|
|
"label": "#BF616A",
|
|
"macro": "#81A1C1",
|
|
"method": "#8FBCBB",
|
|
"module": "#BF616A",
|
|
"namespace": "#D08770",
|
|
"parameter": "#2E3440",
|
|
"preprocessor": "#BF616A",
|
|
"punctuation": "#4C566A",
|
|
"regex": "#A3BE8C",
|
|
"storageModifier": "#81A1C1",
|
|
"stringEscape": "#1F2530",
|
|
"struct": "#5E81AC",
|
|
"tag": "#5E81AC",
|
|
"tagAttribute": "#D08770",
|
|
"tagAttributeValue": "#A3BE8C",
|
|
"typeParameter": "#D08770",
|
|
"url": "#81A1C1",
|
|
"variableGlobal": "#5E81AC",
|
|
"variableLocal": "#F1F3F8",
|
|
"variableOther": "#8FBCBB",
|
|
"variableProperty": "#81A1C1"
|
|
},
|
|
"highlights": {
|
|
"diffAdded": "#8FBCBB",
|
|
"diffAddedBackground": "#E4F0E4",
|
|
"diffModified": "#81A1C1",
|
|
"diffModifiedBackground": "#DFE6F2",
|
|
"diffRemoved": "#BF616A",
|
|
"diffRemovedBackground": "#F4E1E4",
|
|
"lineNumber": "#B2BACC",
|
|
"lineNumberActive": "#1F2530"
|
|
}
|
|
},
|
|
"markdown": {
|
|
"heading1": "#2E3440",
|
|
"heading2": "#2E3440",
|
|
"heading3": "#2E3440",
|
|
"heading4": "#2E3440",
|
|
"link": "#81A1C1",
|
|
"linkHover": "#5E81AC",
|
|
"inlineCode": "#4f7034",
|
|
"inlineCodeBackground": "#E4E8F0",
|
|
"blockquote": "#D08770",
|
|
"blockquoteBorder": "#D5DBE7",
|
|
"listMarker": "#5E81AC99"
|
|
},
|
|
"chat": {
|
|
"userMessage": "#2E3440",
|
|
"userMessageBackground": "#dee4f0",
|
|
"assistantMessage": "#2E3440",
|
|
"assistantMessageBackground": "#ECEFF4",
|
|
"timestamp": "#4C566A",
|
|
"divider": "#D5DBE7"
|
|
},
|
|
"tools": {
|
|
"background": "#E4E8F080",
|
|
"border": "#b8bfcc80",
|
|
"headerHover": "#F6F8FC",
|
|
"icon": "#4C566A",
|
|
"title": "#2E3440",
|
|
"description": "#4C566A",
|
|
"edit": {
|
|
"added": "#8FBCBB",
|
|
"addedBackground": "#8FBCBB25",
|
|
"removed": "#BF616A",
|
|
"removedBackground": "#BF616A25",
|
|
"lineNumber": "#b7bfd1"
|
|
}
|
|
}
|
|
},
|
|
"config": {
|
|
"fonts": {
|
|
"sans": "\"IBM Plex Mono\", monospace",
|
|
"mono": "\"IBM Plex Mono\", monospace",
|
|
"heading": "\"IBM Plex Mono\", monospace"
|
|
},
|
|
"radius": {
|
|
"none": "0",
|
|
"sm": "0.325rem",
|
|
"md": "0.75rem",
|
|
"lg": "1.125rem",
|
|
"xl": "1.5rem",
|
|
"full": "9999px"
|
|
},
|
|
"transitions": {
|
|
"fast": "150ms ease",
|
|
"normal": "250ms ease",
|
|
"slow": "350ms ease"
|
|
}
|
|
}
|
|
}
|