wrolpi/app/src
Roland bb14bf4074
review: finish the sweep the first pass claimed
The review was right that completeness was not done.  Every finding held up.

Three more pages mounted a `PageContainer` inside a route that already
provides page chrome -- `ManageMap`, `MapPins`, `ManageZim` -- so they sat a
further 1em down and 1em in from the tab bar than the viewers beside them.
The same defect as ArchiveSettings, in a shape the scan could not see: it
keyed on `PageContainer` route wrappers, and Map and Zim wrap their content
in a `wrolpi-stack` div instead.  It now locates routers first and asks
whether the enclosing return provides chrome either way, resolves
`element={<ErrorBoundary><Page/></ErrorBoundary>}` as well as the bare form,
and knows about `class` components -- `ManageZim` is one, and a scan that
only knew functions reported it clean.

Five top-level blocks still added their own margin to the stack's gap: the
dashboard search row (52.8px against 17.6px, on the most-looked-at page in
the app), the Playlists filter row, both Docs filter rows, and the Map pins
filter.  The extension page's hint panel had the same compound against a
Mantine Stack's gap.

ControllerPage held its four panel sections in a plain wrapper, so the
admin page's stack saw one child and the panels kept sharing edges -- the
exact hole Settings had.

The dashboard was reported clean in the first pass and was not.  The sweep
measured wrapper-to-wrapper gaps, and that row's margin is INSIDE a Media
wrapper, so it never appeared: the measurement, not the page, was at fault.

Cypress gap assertions now derive from the stack's own `row-gap` instead of a
12-28px range that assumed the default interface scale and would have
false-failed a correct layout at a larger one.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 18:41:20 -06:00
..
api controller: VNC toggle, gated on the Desktop running 2026-07-29 18:10:05 -06:00
components review: finish the sweep the first pass claimed 2026-08-05 18:41:20 -06:00
contexts test: one place for fixtures, real providers instead of mocked context modules 2026-08-05 18:36:48 -06:00
hooks ui: the corner triggers, the More button, and the search modal 2026-08-05 18:38:04 -06:00
themes review: close the mixed-unit gaps the scale left behind 2026-08-05 18:41:01 -06:00
types ui: the last Semantic UI file, and the stylesheet with it 2026-08-05 18:36:26 -06:00
api.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-05 18:34:58 -06:00
App.css ui: pages own the space between their blocks 2026-08-05 18:41:17 -06:00
App.js ui: the last Semantic UI file, and the stylesheet with it 2026-08-05 18:36:26 -06:00
DashboardPage.js review: finish the sweep the first pass claimed 2026-08-05 18:41:20 -06:00
DashboardPage.test.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-05 18:34:58 -06:00
Events.js ui: thirty-five files off Semantic, leaving fifteen 2026-08-05 18:34:58 -06:00
import-cycles.test.js fix: break the import cycle that put useCalculators in the TDZ 2026-08-05 18:37:53 -06:00
index.css ui: the last Semantic UI file, and the stylesheet with it 2026-08-05 18:36:26 -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-05 18:36:26 -06:00
semantic-baseline.test.js build: uninstall Semantic UI 2026-08-05 18:36:31 -06:00
setupTests.js ui: Common.js and thirteen more files off Semantic 2026-08-05 18:34:50 -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-05 18:41:16 -06:00
Tags.test.js review: one figure for the point's room, and name the row-vs-chip contract 2026-08-05 18:41:16 -06:00
test-fixtures.js test: check declared types, not just field names, and fix the three that were wrong 2026-08-05 18:37:01 -06:00
test-fixtures.test.js test: one place for fixtures, real providers instead of mocked context modules 2026-08-05 18:36:48 -06:00
test-utils.js style: spell it "color" everywhere 2026-08-05 18:40:50 -06:00
test-utils.test.js style: spell it "color" everywhere 2026-08-05 18:40:50 -06:00