TenantAtlas/apps/platform/resources/views/filament/pages/baseline-subject-resolution.blade.php
ahmido 39298f27f2 feat(ui): implement baseline subject resolution ui (#455)
Added `BaselineSubjectResolution` page and supporting logic to visualize missing identities, ambiguous matches, and skipped coverages as defined in Spec 384. Replaces legacy compare warnings with an actionable, deterministic UI surface.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #455
2026-06-16 23:36:38 +00:00

51 lines
2.3 KiB
PHP

<x-filament::page>
@php
$summary = is_array($summary ?? null) ? $summary : [];
$actionableCount = (int) ($summary['actionable_count'] ?? 0);
$sourceRunId = $summary['source_operation_run_id'] ?? null;
$legacyPayloadOnly = (bool) ($summary['legacy_payload_only'] ?? false);
@endphp
<div class="space-y-6">
<x-filament::section>
<div class="flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between">
<div class="min-w-0 space-y-3">
<div class="flex flex-wrap items-center gap-2">
<x-filament::badge :color="$actionableCount > 0 ? 'warning' : ($legacyPayloadOnly ? 'gray' : 'success')" icon="heroicon-m-puzzle-piece">
{{ $actionableCount }} {{ \Illuminate\Support\Str::plural('decision', $actionableCount) }} required
</x-filament::badge>
@if (is_numeric($sourceRunId))
<x-filament::badge color="gray">
Operation #{{ (int) $sourceRunId }}
</x-filament::badge>
@endif
</div>
<div class="max-w-3xl text-sm leading-6 text-gray-600 dark:text-gray-300">
Baseline subject decisions are TenantPilot-only records. They do not mutate the provider tenant.
</div>
</div>
<div class="flex flex-wrap gap-2">
@if (filled($sourceRunUrl ?? null))
<x-filament::button tag="a" :href="$sourceRunUrl" color="gray" icon="heroicon-o-queue-list">
Open operation
</x-filament::button>
@endif
@if (filled($compareUrl ?? null))
<x-filament::button tag="a" :href="$compareUrl" color="gray" icon="heroicon-o-scale">
Open baseline compare
</x-filament::button>
@endif
</div>
</div>
</x-filament::section>
<x-filament::section heading="Decision worklist">
{{ $this->table }}
</x-filament::section>
</div>
</x-filament::page>