fix(ui): avoid vibrancy backing on unstuck project headers (#2526)

This commit is contained in:
ChangeHow
2026-07-29 18:25:02 +03:00
committed by GitHub
parent 7bfe902089
commit 1fd51745c7
2 changed files with 5 additions and 11 deletions
@@ -196,7 +196,8 @@ export const SortableProjectItem: React.FC<SortableProjectItemProps> = ({
<div
className={cn(
'-ml-2.5 -mr-2 text-left group/project select-none',
stickyZoneHeaders && 'oc-zone-header-backing sticky top-0 z-20 bg-sidebar',
stickyZoneHeaders && 'sticky top-0 z-20 bg-sidebar',
stickyZoneHeaders && isStuck && 'oc-zone-header-backing',
)}
onContextMenu={(event) => {
// VS Code hides project actions entirely (hideDirectoryControls).
@@ -422,4 +423,3 @@ const SortableGroupItemBase: React.FC<{
};
export const SortableGroupItem = React.memo(SortableGroupItemBase);
+3 -9
View File
@@ -150,18 +150,12 @@
background-color: transparent !important;
}
/* Sticky sidebar zone headers must fully mask the rows scrolling under
them. A frosted (translucent + backdrop-blur) backing is NOT possible
here: Electron's transparent/vibrancy windows break backdrop-filter
entirely (electron#20357 — the backdrop snapshot fails against a
transparent root), so any translucency lets row text bleed through
un-blurred. Use the opaque sidebar tone instead; the blur declaration
stays only as a progressive enhancement if Electron ever fixes it. */
/* Stuck sidebar zone headers must fully mask the rows scrolling under
them. Electron's transparent/vibrancy windows break backdrop-filter
(electron#20357), so use the opaque sidebar tone instead. */
:root.desktop-runtime[data-oc-vibrancy] .oc-zone-header-backing {
background: var(--sidebar-stuck-bg) !important;
background-color: var(--sidebar-stuck-bg) !important;
-webkit-backdrop-filter: blur(16px) saturate(1.2);
backdrop-filter: blur(16px) saturate(1.2);
}
.font-sans {