Improve UI consistency in light and dark modes#289121
Conversation
…for notifications and sashes
There was a problem hiding this comment.
Pull request overview
This PR updates the 2026 theme to improve UI consistency across light and dark modes. The changes refactor theme color values and CSS styles, with a focus on notifications, sashes, and various UI elements.
Changes:
- Refactored notification styles with new backdrop filter effects and transparent backgrounds
- Updated color values in light theme from
#E9E9E9to#EDEDEDand border colors from transparent (#EEEEEE00) to semi-transparent (#ECEDEEFF) - Removed high-contrast (hc-black) theme support from multiple UI components
- Added new styles for sashes, hover widgets, and dialog modals
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 12 comments.
| File | Description |
|---|---|
| extensions/theme-2026/themes/styles.css | Refactored notification styles, added sash z-index rules, removed hc-black theme support from multiple components, added hover and dialog styles |
| extensions/theme-2026/themes/2026-light.json | Updated color values for consistency, changed many border colors from fully transparent to semi-transparent, adjusted hover and selection colors |
| extensions/theme-2026/themes/2026-dark.json | Changed statusBarItem.activeBackground from blue accent to neutral gray |
| .monaco-workbench.vs-dark .monaco-editor .minimap, | ||
| .monaco-workbench.hc-black .monaco-editor .minimap { background: rgba(5, 5, 6, 0.85) !important; box-shadow: 0 0 6px rgba(0, 0, 0, 0.10) !important; } | ||
| .monaco-workbench .monaco-editor .minimap-shadow-visible { box-shadow: 0 0 6px rgba(0, 0, 0, 0.10); } |
There was a problem hiding this comment.
This selector chain appears incomplete. Line 199 starts with a selector for dark mode minimap but line 200 immediately transitions to another selector without any rule body or closing brace for the dark mode selector.
| /* Buttons */ | ||
| .monaco-workbench .monaco-button { box-shadow: 0 0 2px rgba(0, 0, 0, 0.06); } | ||
| .monaco-workbench .monaco-button:hover { box-shadow: 0 0 4px rgba(0, 0, 0, 0.08); } | ||
| .monaco-workbench .monaco-button:hover { box-shadow: 0 0 4px rgba(0, 0, 0, 0.08); } |
There was a problem hiding this comment.
There is trailing whitespace before the closing brace. This should be removed for consistency and cleaner code.
| .monaco-workbench .monaco-button:hover { box-shadow: 0 0 4px rgba(0, 0, 0, 0.08); } | |
| .monaco-workbench .monaco-button:hover { box-shadow: 0 0 4px rgba(0, 0, 0, 0.08); } |
| "editor.rangeHighlightBackground": "#E9E9E9", | ||
| "editor.findRangeHighlightBackground": "#EDEDED", | ||
| "editor.hoverHighlightBackground": "#EDEDED", | ||
| "editor.lineHighlightBackground": "#EDEDED55", |
There was a problem hiding this comment.
The transparency value is inconsistent. The color '#EDEDED55' has a 55 alpha value (33% opacity) while most other colors in the theme use either no transparency or predefined transparency values like 26, 33, etc. Consider using a standard transparency value like '33' for consistency.
| "editor.lineHighlightBackground": "#EDEDED55", | |
| "editor.lineHighlightBackground": "#EDEDED33", |
| "editorHoverWidget.background": "#FCFCFC", | ||
| "editorHoverWidget.border": "#EEEEEE00", | ||
| "peekView.border": "#EEEEEE00", | ||
| "editorHoverWidget.background": "#FCFCFC55", |
There was a problem hiding this comment.
The transparency value is inconsistent. The color '#FCFCFC55' has a 55 alpha value (33% opacity) while most other colors in the theme use either no transparency or predefined transparency values. Consider using a standard transparency value for consistency.
| "editorHoverWidget.background": "#FCFCFC55", | |
| "editorHoverWidget.background": "#FCFCFC", |
| .monaco-workbench.vs-dark .monaco-editor .parameter-hints-widget, | ||
| .monaco-workbench.hc-black .monaco-editor .parameter-hints-widget { background: rgba(10, 10, 11, 0.85) !important; } | ||
| .monaco-workbench.vs .monaco-editor .parameter-hints-widget { background: rgba(252, 252, 253, 0.85) !important; } |
There was a problem hiding this comment.
This selector chain appears incomplete. Line 193 starts with selectors for dark mode parameter hints but line 194 immediately transitions to light mode without any rule body or closing brace for the dark mode selector.
| backdrop-filter: blur(20px) saturate(180%); | ||
| -webkit-backdrop-filter: blur(20px) saturate(180%); | ||
| background-color: rgba(255, 255, 255, 0.6) !important; | ||
|
|
There was a problem hiding this comment.
There is an empty line inside this rule block. Consider removing it for cleaner formatting.
|
|
||
| } |
There was a problem hiding this comment.
The notification center background is hard-coded to a light color (rgba(255, 255, 255, 0.6)) which will not work correctly in dark mode. This should use a theme-aware color or have a separate dark mode rule.
| } | |
| } | |
| .monaco-workbench.vs-dark .notifications-center { | |
| background-color: rgba(0, 0, 0, 0.6) !important; | |
| } |
| .monaco-workbench .quick-input-widget .monaco-list-row { border-color: transparent !important; outline: none !important; } | ||
| .monaco-workbench .quick-input-widget .monaco-inputbox { box-shadow: none !important; background: transparent !important; } | ||
| .monaco-workbench .quick-input-widget .quick-input-filter .monaco-inputbox { background: rgba(249, 250, 251, 0.4) !important; border-radius: 6px; } | ||
| .monaco-workbench.vs-dark .quick-input-widget .quick-input-filter .monaco-inputbox, |
There was a problem hiding this comment.
This line appears to be incomplete. Line 74 starts a selector for dark mode quick input but has no closing brace or continuation. The selector chain is broken, ending with a comma but no subsequent selector or rule body.
| .monaco-workbench.vs-dark .quick-input-widget .quick-input-filter .monaco-inputbox, | |
| /* .monaco-workbench.vs-dark .quick-input-widget .quick-input-filter .monaco-inputbox, */ |
| .monaco-workbench .interactive-session .interactive-input-part .chat-editor-container .interactive-input-editor .monaco-editor, | ||
| .monaco-workbench .interactive-session .interactive-input-part .chat-editor-container .interactive-input-editor .monaco-editor .monaco-editor-background { background-color: var(--vscode-panel-background, var(--vscode-sideBar-background)) !important; } | ||
| .monaco-workbench .interactive-session .chat-editing-session .chat-editing-session-container { border-radius: 4px 4px 0 0; } |
There was a problem hiding this comment.
This line appears to be incomplete. Line 80 starts a selector for chat widget editor but has no closing brace or continuation. The selector chain is broken, ending without a rule body.
|
|
||
| /* Breadcrumbs */ | ||
| .monaco-workbench .part.editor > .content .editor-group-container > .title .breadcrumbs-control { box-shadow: 0 0 6px rgba(0, 0, 0, 0.08) !important; background: rgba(252, 252, 253, 0.65) !important; backdrop-filter: blur(40px) saturate(180%) !important; -webkit-backdrop-filter: blur(40px) saturate(180%) !important; } | ||
| .monaco-workbench.vs-dark .part.editor > .content .editor-group-container > .title .breadcrumbs-control, |
There was a problem hiding this comment.
This line appears to be incomplete. Line 159 starts a selector for dark mode breadcrumbs but has no closing brace or continuation. The selector chain is broken, ending with a comma but no subsequent selector or rule body.
| .monaco-workbench.vs-dark .part.editor > .content .editor-group-container > .title .breadcrumbs-control, | |
| .monaco-workbench.vs-dark .part.editor > .content .editor-group-container > .title .breadcrumbs-control {} |
Update color theme settings and refactor theme styles to enhance UI consistency across light and dark modes, including new styles for notifications and sashes.