Summary Implements Spec 041 – Inventory UI (Filament v4): adds Inventory navigation, landing page, and resources for Inventory Items and Inventory Sync Runs, plus a Coverage page that reflects supported policy types and capabilities from config. This PR is UI-focused and builds on Inventory Core (040). What’s included • Navigation / IA • New Inventory section with: Landing, Coverage, Inventory Items, Inventory Sync Runs • Landing page with quick links to the three Inventory views • Coverage page • Table view generated from config-derived capabilities (Type, Label, Category, Restore, Risk) • Resources • InventoryItemResource list + view (tenant-scoped) • InventorySyncRunResource list + view (tenant-scoped) • Filament v4 fixes • Updated page signatures ($navigationGroup, $navigationIcon, $view) • Updated table actions to use Filament\Actions\ViewAction Tests Inventory UI tests added/updated and passing: • InventoryItemResourceTest.php • InventorySyncRunResourceTest.php • InventoryPagesTest.php Non-goals • No dependency graph UI (Spec 042) • No cross-tenant portfolio/compare/promotion (Spec 043) • No drift dashboards (Spec 044) • No changes to restore/backup behavior Review focus • Navigation structure and naming (Inventory Landing vs direct resources) • Tenant isolation in resources/pages (no cross-tenant leakage) • Coverage page accuracy vs config/tenantpilot.php capabilities • Filament v4 action usage (ViewAction) Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #44
24 lines
869 B
PHP
24 lines
869 B
PHP
<x-filament::page>
|
|
<x-filament::section>
|
|
<div class="flex flex-col gap-3">
|
|
<div class="text-sm text-gray-600 dark:text-gray-300">
|
|
Browse inventory items, inspect sync runs, and review coverage/capabilities.
|
|
</div>
|
|
|
|
<div class="flex flex-wrap gap-3">
|
|
<x-filament::button tag="a" :href="$this->getInventoryItemsUrl()">
|
|
Inventory Items
|
|
</x-filament::button>
|
|
|
|
<x-filament::button tag="a" color="gray" :href="$this->getSyncRunsUrl()">
|
|
Sync Runs
|
|
</x-filament::button>
|
|
|
|
<x-filament::button tag="a" color="gray" :href="$this->getCoverageUrl()">
|
|
Coverage
|
|
</x-filament::button>
|
|
</div>
|
|
</div>
|
|
</x-filament::section>
|
|
</x-filament::page>
|