Skip to content

Commit 8b2aed4

Browse files
committed
feat(sidebar): add distinct scrollbar color for sidebar
The sidebar scrollbar was invisible because it used the same color as the sidebar background. Add dedicated sidebar scrollbar CSS variables and class with higher-contrast thumb colors. Update all 11 built-in themes with appropriate sidebar scrollbar overrides for light variants (and Solarized dark). Update THEMES.md documentation.
1 parent e6a872b commit 8b2aed4

15 files changed

Lines changed: 42 additions & 4 deletions

File tree

apps/fluux/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
],
6969
"macOS": {
7070
"minimumSystemVersion": "10.13",
71-
"bundleVersion": "b01be90",
71+
"bundleVersion": "e6a872b",
7272
"entitlements": "Entitlements.plist",
7373
"signingIdentity": null
7474
},

apps/fluux/src/components/Sidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,9 +400,9 @@ export function Sidebar({ onSelectContact, onStartChat, onManageUser, adminCateg
400400
<div
401401
ref={sidebarListRef}
402402
tabIndex={0}
403-
className="focus-zone flex-1 min-h-0"
403+
className="focus-zone flex-1 min-h-0 p-0.5"
404404
>
405-
<div className="h-full overflow-y-auto py-1 pl-1 pr-1">
405+
<div className="sidebar-scroll h-full overflow-y-auto rounded-sm py-0.5 px-0.5">
406406
<SidebarZoneContext.Provider value={sidebarListRef}>
407407
<div key={sidebarView} style={{ animation: 'sidebar-view-enter 150ms ease-out' }}>
408408
{sidebarView === 'messages' ? (

apps/fluux/src/index.css

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@
151151
/* Scrollbar */
152152
--fluux-scrollbar-thumb: var(--fluux-base-05);
153153
--fluux-scrollbar-thumb-hover: var(--fluux-base-20);
154+
--fluux-scrollbar-thumb-sidebar: var(--fluux-base-30);
155+
--fluux-scrollbar-thumb-sidebar-hover: var(--fluux-base-50);
154156

155157
/* Focus ring */
156158
--fluux-focus-ring: hsla(var(--fluux-accent-h), var(--fluux-accent-s), var(--fluux-accent-l), 0.5);
@@ -341,6 +343,15 @@
341343
background: var(--scrollbar-thumb-hover);
342344
}
343345

346+
/* Sidebar scrollbar — more visible on dark sidebar background */
347+
.sidebar-scroll::-webkit-scrollbar-thumb {
348+
background: var(--fluux-scrollbar-thumb-sidebar);
349+
}
350+
351+
.sidebar-scroll::-webkit-scrollbar-thumb:hover {
352+
background: var(--fluux-scrollbar-thumb-sidebar-hover);
353+
}
354+
344355
/* Smooth scrolling */
345356
html {
346357
scroll-behavior: smooth;

apps/fluux/src/themes/builtins/catppuccin-mocha.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ export const catppuccinMochaTheme: ThemeDefinition = {
106106
'--fluux-selection-bg': 'hsla(267, 83%, 58%, 0.15)',
107107
'--fluux-scrollbar-thumb': '#bcc0cc',
108108
'--fluux-scrollbar-thumb-hover': '#acb0be',
109+
'--fluux-scrollbar-thumb-sidebar': '#acb0be',
110+
'--fluux-scrollbar-thumb-sidebar-hover': '#9ca0ae',
109111
// Syntax highlighting
110112
'--syntax-token-keyword': '#8839ef',
111113
'--syntax-token-string': '#40a02b',

apps/fluux/src/themes/builtins/dracula.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ export const draculaTheme: ThemeDefinition = {
8383
'--fluux-selection-bg': 'hsla(265, 70%, 55%, 0.15)',
8484
'--fluux-scrollbar-thumb': '#c8c8c2',
8585
'--fluux-scrollbar-thumb-hover': '#b0b0aa',
86+
'--fluux-scrollbar-thumb-sidebar': '#b8b8b2',
87+
'--fluux-scrollbar-thumb-sidebar-hover': '#a0a09a',
8688
'--fluux-text-link': '#a8308c',
8789
// Syntax highlighting
8890
'--syntax-token-keyword': '#a8308c',

apps/fluux/src/themes/builtins/github.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ export const githubTheme: ThemeDefinition = {
8888
'--fluux-selection-bg': 'hsla(212, 92%, 45%, 0.15)',
8989
'--fluux-scrollbar-thumb': '#dae0e7',
9090
'--fluux-scrollbar-thumb-hover': '#c8ced5',
91+
'--fluux-scrollbar-thumb-sidebar': '#c8ced5',
92+
'--fluux-scrollbar-thumb-sidebar-hover': '#b0b8c2',
9193
// Syntax highlighting
9294
'--syntax-token-keyword': '#cf222e',
9395
'--syntax-token-string': '#0a3069',

apps/fluux/src/themes/builtins/gruvbox.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ export const gruvboxTheme: ThemeDefinition = {
8484
'--fluux-selection-bg': 'hsla(24, 88%, 35%, 0.15)',
8585
'--fluux-scrollbar-thumb': '#bdae93',
8686
'--fluux-scrollbar-thumb-hover': '#a89984',
87+
'--fluux-scrollbar-thumb-sidebar': '#a89984',
88+
'--fluux-scrollbar-thumb-sidebar-hover': '#928374',
8789
// Syntax highlighting
8890
'--syntax-token-keyword': '#9d0006',
8991
'--syntax-token-string': '#79740e',

apps/fluux/src/themes/builtins/kanagawa.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ export const kanagawaTheme: ThemeDefinition = {
8686
'--fluux-selection-bg': 'hsla(219, 36%, 45%, 0.15)',
8787
'--fluux-scrollbar-thumb': '#d5cea3',
8888
'--fluux-scrollbar-thumb-hover': '#c9c297',
89+
'--fluux-scrollbar-thumb-sidebar': '#c0b990',
90+
'--fluux-scrollbar-thumb-sidebar-hover': '#b0a980',
8991
'--fluux-text-link': '#cc6d00', // lotusOrange
9092
// Syntax highlighting
9193
'--syntax-token-keyword': '#624c83',

apps/fluux/src/themes/builtins/monokai.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ export const monokaiTheme: ThemeDefinition = {
8484
'--fluux-selection-bg': 'hsla(338, 75%, 42%, 0.15)',
8585
'--fluux-scrollbar-thumb': '#c8c4b8',
8686
'--fluux-scrollbar-thumb-hover': '#b0aca0',
87+
'--fluux-scrollbar-thumb-sidebar': '#b0aca0',
88+
'--fluux-scrollbar-thumb-sidebar-hover': '#989488',
8789
'--fluux-text-link': '#b86e0a',
8890
// Syntax highlighting
8991
'--syntax-token-keyword': '#c41854',

apps/fluux/src/themes/builtins/nord.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ export const nordTheme: ThemeDefinition = {
8484
'--fluux-selection-bg': 'hsla(213, 32%, 42%, 0.15)',
8585
'--fluux-scrollbar-thumb': '#c8d0e0',
8686
'--fluux-scrollbar-thumb-hover': '#a5b1c7',
87+
'--fluux-scrollbar-thumb-sidebar': '#b5bfd2',
88+
'--fluux-scrollbar-thumb-sidebar-hover': '#97a4bc',
8789
// Syntax highlighting
8890
'--syntax-token-keyword': '#5e81ac',
8991
'--syntax-token-string': '#7b9e60',

0 commit comments

Comments
 (0)