diff --git a/packages/app/src/components/session/session-sortable-tab.tsx b/packages/app/src/components/session/session-sortable-tab.tsx
index a304df2ed..dfda91c16 100644
--- a/packages/app/src/components/session/session-sortable-tab.tsx
+++ b/packages/app/src/components/session/session-sortable-tab.tsx
@@ -13,13 +13,15 @@ import { useCommand } from "@/context/command"
export function FileVisual(props: { path: string; active?: boolean }): JSX.Element {
return (
-
+ }
+ >
+
+
+
+
+
{getFilename(props.path)}
)
diff --git a/packages/ui/src/components/tabs.css b/packages/ui/src/components/tabs.css
index 8b54824e7..f8045702f 100644
--- a/packages/ui/src/components/tabs.css
+++ b/packages/ui/src/components/tabs.css
@@ -229,21 +229,41 @@
}
}
- [data-component="file-icon"] {
- filter: grayscale(1) !important;
- transition: filter 120ms ease;
- }
-
- &:has([data-selected]) {
- [data-component="file-icon"] {
- filter: grayscale(0) !important;
- }
- }
-
&:hover:not(:disabled):not(:has([data-selected])) {
color: var(--text-base);
background-color: var(--surface-base-hover);
}
+
+ /*
+ File tabs: use monochrome icon by default.
+ Full-color icon is shown on hover/selected.
+ */
+ [data-slot="tabs-trigger"] {
+ .tab-fileicon-color,
+ .tab-fileicon-mono {
+ transition: opacity 120ms ease;
+ }
+
+ .tab-fileicon-color {
+ opacity: 0;
+ }
+
+ .tab-fileicon-mono {
+ opacity: 1;
+ color: currentColor;
+ }
+
+ &[data-selected],
+ &:hover {
+ .tab-fileicon-color {
+ opacity: 1;
+ }
+
+ .tab-fileicon-mono {
+ opacity: 0;
+ }
+ }
+ }
}
}