From a12ebcfda585aa49eb9682211b358e293814424b Mon Sep 17 00:00:00 2001 From: ashx-j <281260375+ashx-j@users.noreply.github.com> Date: Thu, 15 Oct 2026 21:23:15 +0200 Subject: [PATCH 1/2] fix(web): keep the settings scope pickers pinned while scrolling Co-Authored-By: Claude Opus 5.5 --- .../components/settings/SettingsScopeSentence.tsx | 14 +++++++++----- .../web/src/components/settings/settingsLayout.tsx | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/apps/web/src/components/settings/SettingsScopeSentence.tsx b/apps/web/src/components/settings/SettingsScopeSentence.tsx index 04312fd031427..53e0f324039f7 100644 --- a/apps/web/src/components/settings/SettingsScopeSentence.tsx +++ b/apps/web/src/components/settings/SettingsScopeSentence.tsx @@ -45,10 +45,10 @@ interface SettingsScopeMenuProps { } /** - * "Applying settings for across " at the top of a settings - * page. The two pickers are the targets a change is written to. A project is - * the same project on every environment, so the environment alone decides - * where a project override is written. + * "Applying settings for across " pinned to the top of a + * settings page. The two pickers are the targets a change is written to. A + * project is the same project on every environment, so the environment alone + * decides where a project override is written. */ export function SettingsScopeSentence() { const scope = useOptionalSettingsScope(); @@ -63,7 +63,11 @@ export function SettingsScopeSentence() { onChange: scope.selectScope, }; return ( -

+ // Pinned to the top of the settings scroll area so the pickers stay in reach + // on long pages. The negative margins pull the opaque background over the + // page's top padding and down toward the first section without moving the + // layout, and the trailing gradient fades rows out as they slide under it. +

{/* Each connective stays with its picker so a wrap never strands "on". */} Applying settings for diff --git a/apps/web/src/components/settings/settingsLayout.tsx b/apps/web/src/components/settings/settingsLayout.tsx index 27c6a8fee282e..5ab2e86548f8b 100644 --- a/apps/web/src/components/settings/settingsLayout.tsx +++ b/apps/web/src/components/settings/settingsLayout.tsx @@ -571,7 +571,8 @@ export function SettingsPageContainer({ onTargetHandled={clearTargetHash} >

From 367e86f8a75844e85f69908b305ba539b8baac1d Mon Sep 17 00:00:00 2001 From: Julius Marminge Date: Mon, 19 Oct 2026 15:05:13 +0000 Subject: [PATCH 2/2] fix(web): keep settings scope pickers visible while scrolling --- .../src/components/settings/SettingsScopeSentence.tsx | 9 ++------- apps/web/src/components/settings/settingsLayout.tsx | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/apps/web/src/components/settings/SettingsScopeSentence.tsx b/apps/web/src/components/settings/SettingsScopeSentence.tsx index e6fbe8fb682e0..e4ff5770b780a 100644 --- a/apps/web/src/components/settings/SettingsScopeSentence.tsx +++ b/apps/web/src/components/settings/SettingsScopeSentence.tsx @@ -68,12 +68,7 @@ export function SettingsScopeSentence() { onChange: scope.selectScope, }; return ( - // Pinned to the top of the settings scroll area so the pickers stay in reach - // on long pages. The negative margins pull the opaque background over the - // page's top padding and down toward the first section without moving the - // layout, and the trailing gradient fades rows out as they slide under it. -

- {/* Each connective stays with its picker so a wrap never strands "on". */} +

Applying settings for @@ -138,7 +133,7 @@ function ScopeMenu({ } - className="min-w-0 max-w-72" + className="min-w-0 max-w-72 shrink" > {icon} {label} diff --git a/apps/web/src/components/settings/settingsLayout.tsx b/apps/web/src/components/settings/settingsLayout.tsx index dea80839ccd21..2f24c0fc627e4 100644 --- a/apps/web/src/components/settings/settingsLayout.tsx +++ b/apps/web/src/components/settings/settingsLayout.tsx @@ -530,7 +530,6 @@ export function SettingsPageContainer({ onTargetHandled={clearTargetHash} >