refactor: splits export_dialog.dart voor het plafond geraakt wordt #531

Merged
brenno merged 1 commit from refactor/export-dialog-splitsen into main 2026-07-22 10:53:49 +00:00
Owner

Summary

lib/widgets/dialogs/export_dialog.dart sat at 999 lines against a 1000-line ceiling with an empty baseline, so the next addition to this dialog would have failed make check — and whoever made it would have been tempted to raise the baseline instead of splitting.

Closes #514

Changes

  • lib/widgets/dialogs/parts/export_dialog_sections.dart (new, 219 lines) — a part of the same library, following the pattern already used for the notices and for deck_provider / markdown_service_parse.
  • export_dialog.dart: 999 → 710 lines.
  • Moved: the depth and profile selectors, and the readiness/quality banners. These read existing state only; build() and everything that calls setState stays in the main file, which is the same seam the earlier notices split used.

fileSizeBaseline stays empty. That was the point.

No behaviour change — code was relocated, not rewritten.

Verification

make check green, run in full on this branch: 86.2% line coverage across 545 instrumented files (one more than before, as expected for a new file), per-file floor 0 below budget. make check-secrets / make sast still red for the pre-existing reasons in #522 and #521.

The mechanical split was carried out by a subagent; the gate run and the review of the result are mine.

Principles

Pure structure: no format, storage, dependency, outgoing traffic or promise touched. Nothing to weigh.

## Summary `lib/widgets/dialogs/export_dialog.dart` sat at 999 lines against a 1000-line ceiling with an empty baseline, so the next addition to this dialog would have failed `make check` — and whoever made it would have been tempted to raise the baseline instead of splitting. Closes #514 ## Changes - `lib/widgets/dialogs/parts/export_dialog_sections.dart` (new, 219 lines) — a `part` of the same library, following the pattern already used for the notices and for `deck_provider` / `markdown_service_parse`. - `export_dialog.dart`: **999 → 710 lines**. - Moved: the depth and profile selectors, and the readiness/quality banners. These read existing state only; `build()` and everything that calls `setState` stays in the main file, which is the same seam the earlier notices split used. **`fileSizeBaseline` stays empty.** That was the point. No behaviour change — code was relocated, not rewritten. ## Verification `make check` green, run in full on this branch: 86.2% line coverage across 545 instrumented files (one more than before, as expected for a new file), per-file floor 0 below budget. `make check-secrets` / `make sast` still red for the pre-existing reasons in #522 and #521. The mechanical split was carried out by a subagent; the gate run and the review of the result are mine. ## Principles Pure structure: no format, storage, dependency, outgoing traffic or promise touched. Nothing to weigh.
refactor(export): selectors en banners naar een eigen part
Some checks failed
CI / Gate (Linux) · Format · Analyze · Coverage (pull_request) Has been cancelled
CI / Test (macos-latest) (pull_request) Has been cancelled
CI / Test (windows-latest) (pull_request) Has been cancelled
CI / Web hardening (pull_request) Has been cancelled
CI / Docs links (pull_request) Has been cancelled
CI / Supply-chain (Trivy · advisory) (pull_request) Has been cancelled
CI / Gate (Linux) · Format · Analyze · Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Web hardening (push) Has been cancelled
CI / Docs links (push) Has been cancelled
CI / Supply-chain (Trivy · advisory) (push) Has been cancelled
11746c483c
export_dialog.dart liep weer tegen het plafond van 1000 regels (issue
#514, de meldingen waren al eerder afgesplitst). De diepgang- en
profielkeuze en de gereedheids-/kwaliteitsbanner zijn losse
onderwerpen die alleen op bestaande state lezen — net als bij de
meldingen blijven build() en alles wat setState aanroept in het
hoofdbestand.

Alleen verplaatst, geen gedragswijziging.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 264666ca4f into main 2026-07-22 10:53:49 +00:00
brenno deleted branch refactor/export-dialog-splitsen 2026-07-22 10:53:49 +00:00
Sign in to join this conversation.
No description provided.