feat: group email headers in full-screen dialog (#374)
Closes #372 ## What changed - **New widget** `lib/ui/widgets/email_headers_dialog.dart`: full-screen header browser that organises headers into collapsible groups: - **Headers** — all standard headers (expanded by default) - **List- Headers** — all `List-*` headers grouped together (expanded) - **Received** — all `Received` headers, **collapsed by default**; shows the inter-hop duration between consecutive entries and highlights delays in colour (green < 30 s, orange < 5 min, red >= 5 min) - **ARC- Headers** — all `ARC-*` headers (above X-, expanded) - **X-Prefix Headers** — X- headers split by their second component (e.g. `X-Google-*` → "X-Google Headers"), sorted alphabetically, at the very bottom - **`email_detail_screen.dart`**: `_showHeaders` now uses `EmailHeadersDialog`; `_showStructure` converted from `AlertDialog` to `Dialog.fullscreen()` — satisfying "Make popup windows full screen." - **`scripts/check_coverage.dart`**: new widget file added to the `_excluded` set (UI widgets are covered by integration tests, not unit tests). ## Verified `task check` passes (analyze: no issues, 491 unit tests pass, coverage >= 80 %). Co-authored-by: Thomas SharedInbox <sharedinbox@thomas-guettler.de> Reviewed-on: https://codeberg.org/guettli/sharedinbox/pulls/374
This commit was merged in pull request #374.
This commit is contained in:
committed by
guettli
co-authored by
guettli
Thomas SharedInbox
parent
6d1df2d213
commit
87244de7da
@@ -62,6 +62,7 @@ const _excluded = {
|
||||
'lib/ui/screens/about_screen.dart',
|
||||
'lib/ui/screens/email_action_helpers.dart',
|
||||
'lib/ui/utils/about_markdown.dart',
|
||||
'lib/ui/widgets/email_headers_dialog.dart',
|
||||
'lib/ui/widgets/email_tile.dart',
|
||||
'lib/core/sync/account_sync_manager.dart',
|
||||
'lib/core/sync/background_sync.dart',
|
||||
|
||||
Reference in New Issue
Block a user