fix(studio): the title bar behind the settings window is veiled too

The veil starts below the title bar, so with the enlarge mode gone its text showed sharp above the blurred app. A strip beside the veil, not inside it because a blur only reaches what is within its own element, now blurs that band and lets clicks through to the title bar's buttons.
This commit is contained in:
yhh committed 2026-11-05 19:45:30 -08:00
1 parent af59635bf6
commit de226cae50
3 files changed
+10 -1

No files matched your search

@@ -436,3 +436,5 @@
.prefs-pagetitle > .usual { flex-basis: 100%; margin: 0; color: var(--faint); font: var(--w-reg) var(--fs-meta)/1.4 var(--ui); }
.srow-name { display: flex; align-items: center; gap: 8px; }
.srow-meta > .apply:not([data-usual]) { display: none; }
.prefs-strip { position: fixed; inset: 0 0 auto; height: var(--chrome-h, 39px); z-index: 50; background: color-mix(in srgb, var(--page) 40%, transparent); -webkit-backdrop-filter: blur(14px) saturate(.92); backdrop-filter: blur(14px) saturate(.92); pointer-events: none; }
:root[data-fold~="scene"] .prefs-strip { display: none; }
+1 -1
View File
@@ -335,7 +335,7 @@ export function Settings({ hub, onError, port, networkPort, localWorkspacePort,
useSettingLanding(root, landed, at, setLanded);
return (
<SettingsLeaveContext.Provider value={navigation.register}><div
<SettingsLeaveContext.Provider value={navigation.register}><div className="prefs-strip" aria-hidden="true" /><div
className="prefs"
ref={root}
tabIndex={-1}
@@ -31,3 +31,10 @@ it("has one control in its corner, the one that closes it", async () => {
await userEvent.click(buttons[0]!);
await vi.waitFor(() => expect(onClose).toHaveBeenCalled());
});
it("blurs the title bar behind it too, without taking its clicks", () => {
draw();
const strip = document.querySelector(".prefs-strip");
expect(strip?.getAttribute("aria-hidden")).toBe("true");
expect(strip?.nextElementSibling?.classList.contains("prefs")).toBe(true);
});