diff --git a/app/components/@settings/core/ControlPanel.tsx b/app/components/@settings/core/ControlPanel.tsx index 925bce1..df32755 100644 --- a/app/components/@settings/core/ControlPanel.tsx +++ b/app/components/@settings/core/ControlPanel.tsx @@ -413,7 +413,7 @@ export const ControlPanel = ({ open, onClose }: ControlPanelProps) => { return ( -
+
(
)} )} -
+
+
{filteredFileList.map((fileOrFolder) => { switch (fileOrFolder.kind) { case 'file': { diff --git a/app/components/workbench/terminal/TerminalTabs.tsx b/app/components/workbench/terminal/TerminalTabs.tsx index cecc5dc..7998874 100644 --- a/app/components/workbench/terminal/TerminalTabs.tsx +++ b/app/components/workbench/terminal/TerminalTabs.tsx @@ -150,7 +150,7 @@ export const TerminalTabs = memo(() => { { @@ -166,7 +166,7 @@ export const TerminalTabs = memo(() => { { diff --git a/app/styles/index.scss b/app/styles/index.scss index 91a4cf8..e2a86ff 100644 --- a/app/styles/index.scss +++ b/app/styles/index.scss @@ -22,3 +22,51 @@ body { // --secondary-color: rgba(138, 43, 226, var(--gradient-opacity)); // --accent-color: rgba(180, 170, 220, var(--gradient-opacity)); } + +.modern-scrollbar { + overflow: auto; + + // WebKit scrollbar styling + &::-webkit-scrollbar { + width: 2px; + height: 4px; + } + + &::-webkit-scrollbar-track { + background: transparent; + } + + &::-webkit-scrollbar-thumb { + // Use CSS variables for colors + background-color: var(--modern-scrollbar-thumb-background); + border-radius: 9999px; // pill shape + border: 2px solid transparent; // for padding-like effect + background-clip: content-box; + transition: background-color 0.2s ease-in-out; // Add transition + } + + &::-webkit-scrollbar-thumb:hover { + // Use CSS variable for hover color + background-color: var(--modern-scrollbar-thumb-backgroundHover); + } + + // Firefox support + scrollbar-width: thin; + // Use CSS variables for Firefox colors + scrollbar-color: var(--modern-scrollbar-thumb-backgroundHover) transparent; // Use hover color for thumb for consistency +} + +.modern-scrollbar-invert { + &::-webkit-scrollbar-thumb { + // Override with a contrasting color, e.g., primary text color with transparency + background-color: color-mix(in srgb, var(--bolt-elements-textPrimary), transparent 70%); + } + + &::-webkit-scrollbar-thumb:hover { + // Darker/more opaque version on hover + background-color: color-mix(in srgb, var(--bolt-elements-textPrimary), transparent 50%); + } + + // Firefox support for inverted colors + scrollbar-color: color-mix(in srgb, var(--bolt-elements-textPrimary), transparent 50%) transparent; +} \ No newline at end of file diff --git a/app/styles/variables.scss b/app/styles/variables.scss index 42c8681..099b3ed 100644 --- a/app/styles/variables.scss +++ b/app/styles/variables.scss @@ -102,6 +102,8 @@ --bolt-terminal-brightMagenta: #bc05bc; --bolt-terminal-brightCyan: #0598bc; --bolt-terminal-brightWhite: #a5a5a5; + --modern-scrollbar-thumb-background: rgba(100, 100, 100, 0.3); // Example light theme color + --modern-scrollbar-thumb-backgroundHover: rgba(74, 74, 74, 0.8); } /* Color Tokens Dark Theme */ @@ -208,6 +210,8 @@ --bolt-terminal-brightMagenta: #ff6ac1; --bolt-terminal-brightCyan: #9aedfe; --bolt-terminal-brightWhite: #f1f1f0; + --modern-scrollbar-thumb-background: rgba(100, 100, 100, 0.3); // Example dark theme color (adjust as needed) + --modern-scrollbar-thumb-backgroundHover: rgba(10, 10, 10, 0.8); } /*