wrolpi/app/src
Roland 645ea73a00
ui: stop /archives/settings wrapping itself in a second PageContainer
`ArchiveRoute` wraps its `<Routes>` in a PageContainer, and
`ArchiveSettingsPage` wrapped itself in another.  PageContainer carries
`margin-top: 1em` and `padding: 1em`, so that page sat 1em lower and 1em
further in on all four sides than /archives/domains beside it -- which is
exactly what "seems to have more margin" was.  It is a fragment now, so its
panels are blocks of the route's own stack.

Guarded by a source scan rather than a render, since a doubled margin throws
nothing: it takes each PageContainer that wraps a router, reads the
components it routes to, and fails if one of them renders a PageContainer of
its own.

The first version of that scan passed against the live bug.  It looked at
only the first `<PageContainer>` in a file, and in Archive.js that is the
offender itself, whose block holds no `<Routes>` -- so the file was skipped
before the route wrapper 400 lines below was reached.  It reads every
occurrence now, and the premise assertions count both the wrappers found and
the routes within them.

Two more top-level blocks gave up margins that were being added to the
page's gap, both headers "matching" each other's pattern: the domain filter
row (35.2px against 17.6px) and the channel filter row.

/archives/settings and /archives/domains now measure identically -- tab bar
bottom at 136.8px, first block 17.6px below it, content inset 17.6px -- as
do the statistics and settings pages of every other tab group.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 18:05:52 -06:00
..
api controller: VNC toggle, gated on the Desktop running 2026-07-29 18:10:05 -06:00
components ui: stop /archives/settings wrapping itself in a second PageContainer 2026-08-08 18:05:52 -06:00
contexts test: one place for fixtures, real providers instead of mocked context modules 2026-08-08 18:04:04 -06:00
hooks ui: the corner triggers, the More button, and the search modal 2026-08-08 18:05:49 -06:00
themes review: close the mixed-unit gaps the scale left behind 2026-08-08 18:05:51 -06:00
types ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
api.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-08 18:04:01 -06:00
App.css ui: pages own the space between their blocks 2026-08-08 18:05:52 -06:00
App.js ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
DashboardPage.js ui: only the top modal answers Escape, and the audited widths 2026-08-08 18:05:49 -06:00
DashboardPage.test.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-08 18:04:01 -06:00
Events.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-08 18:04:01 -06:00
import-cycles.test.js fix: break the import cycle that put useCalculators in the TDZ 2026-08-08 18:05:47 -06:00
index.css ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
index.js Fixing changes before merge. 2023-02-08 21:18:51 -07:00
logo.svg Renaming examples to avoid grouping of pdf with ebooks. Reworking URLs for media files to avoid escaping url safe characters. 2023-03-29 13:46:39 -06:00
reportWebVitals.js Renaming examples to avoid grouping of pdf with ebooks. Reworking URLs for media files to avoid escaping url safe characters. 2023-03-29 13:46:39 -06:00
semantic-baseline.json ui: the last Semantic UI file, and the stylesheet with it 2026-08-08 18:04:03 -06:00
semantic-baseline.test.js build: uninstall Semantic UI 2026-08-08 18:04:03 -06:00
setupTests.js ui: Common.js and thirteen more files off Semantic 2026-08-08 18:04:00 -06:00
Tags.cy.js Video downloads have many more options. Downloads are migrated. 2024-11-28 09:48:57 -07:00
Tags.js review: one figure for the point's room, and name the row-vs-chip contract 2026-08-08 18:05:52 -06:00
Tags.test.js review: one figure for the point's room, and name the row-vs-chip contract 2026-08-08 18:05:52 -06:00
test-fixtures.js test: check declared types, not just field names, and fix the three that were wrong 2026-08-08 18:05:08 -06:00
test-fixtures.test.js test: one place for fixtures, real providers instead of mocked context modules 2026-08-08 18:04:04 -06:00
test-utils.js style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00
test-utils.test.js style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00