fix(web): span the edit-element docheader across the full module width #88

Merged
dominik.polakovics merged 1 commit from lab/20260716-2349 into main 2026-07-18 01:59:11 +02:00

The content element edit form's docheader rendered clamped to the centered 820px column — floating in the middle of the module — instead of spanning full width like the page and list module headers.

EditPane now owns the standard module frame exactly as PagePane does: .page-module-frame stacks the full-width Docheader above the scrolling .page-module column, and only the form body sits in the centered .page-module__inner. EditModule reduces to a bare <EditPane> mount, and the bespoke .edit-pane frame CSS collapses to the same transparent/no-scroll override .page-pane uses.

This also fixes a secondary defect of the old structure: the header now stays pinned while the form scrolls (previously it scrolled away, since .edit-pane never got a flex height inside the plain-block inner column).

Verified: typecheck clean; all 792 web tests pass (testids unchanged); driven in a real Chromium against harness serve — the edit header measures the identical left/width as the page docheader (308/1292 @ 1600px viewport), the form column stays at 820px centered, and the header holds position while .page-module scrolls.

Closes #87

🤖 Generated with Claude Code

The content element edit form's docheader rendered clamped to the centered 820px column — floating in the middle of the module — instead of spanning full width like the page and list module headers. EditPane now owns the standard module frame exactly as PagePane does: `.page-module-frame` stacks the full-width Docheader above the scrolling `.page-module` column, and only the form body sits in the centered `.page-module__inner`. EditModule reduces to a bare `<EditPane>` mount, and the bespoke `.edit-pane` frame CSS collapses to the same transparent/no-scroll override `.page-pane` uses. This also fixes a secondary defect of the old structure: the header now stays pinned while the form scrolls (previously it scrolled away, since `.edit-pane` never got a flex height inside the plain-block inner column). Verified: typecheck clean; all 792 web tests pass (testids unchanged); driven in a real Chromium against `harness serve` — the edit header measures the identical left/width as the page docheader (308/1292 @ 1600px viewport), the form column stays at 820px centered, and the header holds position while `.page-module` scrolls. Closes #87 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(web): span the edit-element docheader across the full module width
All checks were successful
ci / build-and-test (pull_request) Successful in 5m42s
d7584e8f88
EditPane now owns the standard module frame exactly as PagePane does:
.page-module-frame stacks the full-width Docheader above the scrolling
.page-module column, and only the form body sits in the centered
.page-module__inner. Previously EditModule wrapped the whole pane in the
centered 820px column, so the docheader rendered clamped and centered in
the middle of the module — and, because the pane never got a flex height
there, it scrolled away with the form instead of staying pinned.

EditModule reduces to a bare <EditPane> mount, and the bespoke
.edit-pane frame CSS collapses to the same transparent/no-scroll
override .page-pane uses.

Closes #87

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author
Owner

This was generated by AI while landing a PR.

Validation: PASS

  • CIci / build-and-test (pull_request) success (5m42s, run #77). Relied on as the vouching signal; not re-run.
  • Title — Conventional Commits (fix(web): …). ✓
  • Issue linkCloses #87 present and valid; PR intent matches the issue's stated fix shape exactly. ✓
  • Mergeability — 1 ahead / 0 behind main, merge-tree reports no conflicts. ✓
  • Diff review — EditPane now owns the standard module frame (.page-module-frameDocheader.page-module.page-module__inner.pane.edit-pane), a faithful mirror of PagePane; the Docheader stays wrapped in <Show when={ready()}>, which is the documented reason EditPane (not EditModule) owns the frame. EditModule de-nested to a bare mount so there is no double .page-module wrapper. The bespoke .edit-pane/.edit-pane__body frame CSS collapses to the same background: transparent; overflow: visible override .page-pane uses; no dangling .edit-pane__body references remain on the branch. ✓

Verdict: PASS — ready to merge pending free-text go-ahead.

> *This was generated by AI while landing a PR.* **Validation: PASS** - **CI** — `ci / build-and-test (pull_request)` **success** (5m42s, run #77). Relied on as the vouching signal; not re-run. - **Title** — Conventional Commits (`fix(web): …`). ✓ - **Issue link** — `Closes #87` present and valid; PR intent matches the issue's stated fix shape exactly. ✓ - **Mergeability** — 1 ahead / 0 behind `main`, merge-tree reports no conflicts. ✓ - **Diff review** — EditPane now owns the standard module frame (`.page-module-frame` → `Docheader` → `.page-module` → `.page-module__inner` → `.pane.edit-pane`), a faithful mirror of PagePane; the Docheader stays wrapped in `<Show when={ready()}>`, which is the documented reason EditPane (not EditModule) owns the frame. EditModule de-nested to a bare mount so there is no double `.page-module` wrapper. The bespoke `.edit-pane`/`.edit-pane__body` frame CSS collapses to the same `background: transparent; overflow: visible` override `.page-pane` uses; no dangling `.edit-pane__body` references remain on the branch. ✓ Verdict: **PASS** — ready to merge pending free-text go-ahead.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Cloonar/deckle!88
No description provided.