## Summary - introduce a shared enterprise-detail composition layer for Filament detail pages - migrate BackupSet, BaselineSnapshot, EntraGroup, and OperationRun detail screens to the shared summary-first layout - add regression and unit coverage for section hierarchy, related context, degraded states, and duplicate fact/badge presentation ## Scope - adds shared support classes under `app/Support/Ui/EnterpriseDetail` - adds shared enterprise detail Blade partials under `resources/views/filament/infolists/entries/enterprise-detail` - updates touched Filament resources/pages to use the shared detail shell - includes Spec 133 artifacts under `specs/133-detail-page-template` ## Notes - branch: `133-detail-page-template` - base: `dev` - commit: `fd294c7` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #162
5.0 KiB
5.0 KiB
Quickstart: View Page Template Standard for Enterprise Detail Screens
Feature: 133-detail-page-template | Date: 2026-03-10
Scope
This feature standardizes four existing enterprise detail screens around a shared summary-first layout contract:
- BaselineSnapshot detail,
- BackupSet detail,
- EntraGroup detail,
- OperationRun detail.
The implementation keeps existing routes and semantics intact while introducing:
- a shared enterprise-detail composition layer,
- predictable summary, main, supporting, and technical regions,
- structured related-context rendering,
- secondary technical-detail treatment,
- focused regression coverage against layout drift.
Implementation order
- Add the shared enterprise-detail composition classes and any shared Blade or ViewEntry partials.
- Refactor OperationRun detail first as the operational reference implementation.
- Refactor BaselineSnapshot detail to map its existing presenter output into the shared shell.
- Refactor BackupSet detail to replace the current flat Infolist with lifecycle and related-context sections.
- Refactor EntraGroup detail to promote identity and classification above raw provider fields.
- Add unit tests for section visibility, related-context assembly, and technical-detail demotion in the shared composition layer.
- Add or update feature and Livewire tests for all four target pages.
- Run focused Sail-based tests.
- Run Pint on dirty files.
Reference files
- app/Filament/Resources/BaselineSnapshotResource.php
- app/Filament/Resources/BaselineSnapshotResource/Pages/ViewBaselineSnapshot.php
- app/Services/Baselines/SnapshotRendering/BaselineSnapshotPresenter.php
- app/Filament/Resources/BackupSetResource.php
- app/Filament/Resources/BackupSetResource/Pages/ViewBackupSet.php
- app/Filament/Resources/EntraGroupResource.php
- app/Filament/Resources/EntraGroupResource/Pages/ViewEntraGroup.php
- app/Filament/Resources/OperationRunResource.php
- app/Filament/Pages/Operations/TenantlessOperationRunViewer.php
- app/Support/Navigation/RelatedNavigationResolver.php
- app/Support/Badges/BadgeRenderer.php
- resources/views/filament/infolists/entries/related-context.blade.php
- tests/Feature/Filament/BaselineSnapshotStructuredRenderingTest.php
- tests/Feature/Filament/BaselineSnapshotDegradedStateTest.php
- tests/Feature/Filament/BackupSetRelatedNavigationTest.php
- tests/Feature/DirectoryGroups/BrowseGroupsTest.php
- tests/Feature/Operations/TenantlessOperationRunViewerTest.php
- tests/Feature/Guards/ActionSurfaceContractTest.php
Suggested validation commands
vendor/bin/sail artisan test --compact tests/Feature/Filament/BaselineSnapshotStructuredRenderingTest.php
vendor/bin/sail artisan test --compact tests/Feature/Filament/BaselineSnapshotDegradedStateTest.php
vendor/bin/sail artisan test --compact tests/Feature/Filament/BackupSetEnterpriseDetailPageTest.php
vendor/bin/sail artisan test --compact tests/Feature/Filament/EntraGroupEnterpriseDetailPageTest.php
vendor/bin/sail artisan test --compact tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php
vendor/bin/sail artisan test --compact tests/Feature/Filament/EnterpriseDetailTemplateRegressionTest.php
vendor/bin/sail artisan test --compact tests/Feature/Guards/ActionSurfaceContractTest.php
vendor/bin/sail artisan test --compact tests/Unit/Support/Ui/EnterpriseDetail
vendor/bin/sail bin pint --dirty --format agent
Expected outcome
- The four aligned detail pages feel like members of the same enterprise product family.
- Each page answers identity, state, context, and next-step questions before exposing technical detail.
- Related context appears in a structured, permission-aware location.
- Technical metadata remains available but secondary.
- Regression coverage protects against the return of flat scaffold-style detail pages.