fix(datatable): the sticky header no longer shifts or fades on first scroll

The sticky <thead> jumped up ~8px and picked up the scroller's top fade
the moment you scrolled 1px — so it read as 'not fixed'. Two causes:
- the table sat under a pt-2 gap, so its natural position was 8px below
  the sticky top:0 it snapped to. Drop the top padding (the fixed band's
  controls row already gives the visual gap) → no shift.
- the page scroller's top edge fade turned on with the first scroll and
  masked the header's top. Add a fadeTop flag (PageShell → PageScroller →
  useScrollFade), off for the Channels + Audit pages whose scroll region
  starts with a sticky header. Feed/channel keep the top fade (it fades
  cards under the fixed toolbar, as intended).

Verified: header stays at a fixed offset with no fade change from scroll 0
through scrolled, on both the manager and the audit log. Suite 15/15.
This commit is contained in:
2026-07-18 05:43:19 +02:00
parent 867daa0dcf
commit af915883f9
5 changed files with 22 additions and 5 deletions
+3
View File
@@ -734,6 +734,9 @@ export default function App() {
) : (
<PageShell
scrollKey={normalScrollKey}
// Channels + Audit render a table with a sticky header at the scroller top; the top
// fade would sit on it and flip on with the first scroll, so turn it off there.
fadeTop={page !== "channels" && page !== "audit"}
header={
<Header
me={meQuery.data!}