/data (Data Manager) is a self-scrolling h-full shell nested inside Layout's padded scrolling <main>, causing double-padding and two nested scroll containers.
client/src/pages/DataManager.jsx ~line 468: the loaded page renders <div className="flex flex-col h-full"> with its own header bar + a flex-1 overflow-auto body (~line 495: <div className="flex-1 overflow-auto p-4">).
client/src/components/Layout.jsx: /data is absent from both EXACT_FULL_WIDTH_PATHS and FULL_WIDTH_PATH_PREFIXES (confirmed by grep — no match), so <main> renders with overflow-auto p-4 md:p-6 (the non-full-width branch, ~line 1310 area) instead of the relative overflow-hidden full-width branch. That nests DataManager's own overflow-auto body inside <main>'s overflow-auto, and both add padding.
The PageSkeleton call for this page (client/src/pages/DataManager.jsx ~line 447-461) mirrors the live page faithfully (fullHeight, padded, barClassName="p-4", bodyClassName="p-4"), so this double-scroll/double-pad issue is pre-existing to the page, not introduced by the #2843 skeleton rollout — the skeleton just reveals it by copying the same shell shape.
Fix shape
Either:
- Add
/data to FULL_WIDTH_PATH_PREFIXES (or EXACT_FULL_WIDTH_PATHS) in client/src/components/Layout.jsx, and drop DataManager's own h-full/overflow-auto/padding wrapper since <main> would now handle the scroll container, or
- Drop the page's
h-full shell entirely and let it scroll as a normal page inside <main>'s existing overflow-auto p-4 md:p-6.
Whichever is chosen, drop the corresponding padded/fullHeight/barClassName props from the PageSkeleton call in DataManager.jsx so the skeleton keeps matching the (now-changed) live shell.
Raised in the #2843 review, deferred to keep that PR scoped to skeletons.
Migrated from PLAN.md by /do:replan --issues. Follow-up to #2843.
/data(Data Manager) is a self-scrollingh-fullshell nested insideLayout's padded scrolling<main>, causing double-padding and two nested scroll containers.client/src/pages/DataManager.jsx~line 468: the loaded page renders<div className="flex flex-col h-full">with its own header bar + aflex-1 overflow-autobody (~line 495:<div className="flex-1 overflow-auto p-4">).client/src/components/Layout.jsx:/datais absent from bothEXACT_FULL_WIDTH_PATHSandFULL_WIDTH_PATH_PREFIXES(confirmed by grep — no match), so<main>renders withoverflow-auto p-4 md:p-6(the non-full-width branch, ~line 1310 area) instead of therelative overflow-hiddenfull-width branch. That nests DataManager's ownoverflow-autobody inside<main>'soverflow-auto, and both add padding.The
PageSkeletoncall for this page (client/src/pages/DataManager.jsx~line 447-461) mirrors the live page faithfully (fullHeight,padded,barClassName="p-4",bodyClassName="p-4"), so this double-scroll/double-pad issue is pre-existing to the page, not introduced by the #2843 skeleton rollout — the skeleton just reveals it by copying the same shell shape.Fix shape
Either:
/datatoFULL_WIDTH_PATH_PREFIXES(orEXACT_FULL_WIDTH_PATHS) inclient/src/components/Layout.jsx, and drop DataManager's ownh-full/overflow-auto/padding wrapper since<main>would now handle the scroll container, orh-fullshell entirely and let it scroll as a normal page inside<main>'s existingoverflow-auto p-4 md:p-6.Whichever is chosen, drop the corresponding
padded/fullHeight/barClassNameprops from thePageSkeletoncall inDataManager.jsxso the skeleton keeps matching the (now-changed) live shell.Raised in the #2843 review, deferred to keep that PR scoped to skeletons.
Migrated from PLAN.md by /do:replan --issues. Follow-up to #2843.