Adds a tenant-scoped dashboard page (KPIs, Needs Attention, Recent Drift Findings, Recent Operations) with polling only while active runs exist. Guardrails: DB-only render (no outbound HTTP) + tenant isolation. Tests: ActiveRunsTest, TenantDashboardDbOnlyTest, TenantDashboardTenantScopeTest. Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #68
27 lines
1.1 KiB
PHP
27 lines
1.1 KiB
PHP
<div
|
|
@if ($pollingInterval)
|
|
wire:poll.{{ $pollingInterval }}
|
|
@endif
|
|
class="rounded-xl bg-white p-6 shadow-sm ring-1 ring-gray-950/5 dark:bg-gray-900 dark:ring-white/10"
|
|
>
|
|
<div class="flex flex-col gap-4">
|
|
<div class="text-base font-semibold text-gray-950 dark:text-white">Needs Attention</div>
|
|
|
|
@if (count($items) === 0)
|
|
<div class="text-sm text-gray-600 dark:text-gray-300">Nothing urgent right now.</div>
|
|
@else
|
|
<div class="flex flex-col gap-3">
|
|
@foreach ($items as $item)
|
|
<a
|
|
href="{{ $item['url'] }}"
|
|
class="rounded-lg border border-gray-200 bg-gray-50 p-4 text-left transition hover:bg-gray-100 dark:border-white/10 dark:bg-white/5 dark:hover:bg-white/10"
|
|
>
|
|
<div class="text-sm font-semibold text-gray-950 dark:text-white">{{ $item['title'] }}</div>
|
|
<div class="mt-1 text-sm text-gray-600 dark:text-gray-300">{{ $item['body'] }}</div>
|
|
</a>
|
|
@endforeach
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|