TenantAtlas/apps/platform/resources/views/livewire/entra-group-cache-picker-table.blade.php
ahmido 3bbea1bd00 feat: productize restore wizard preview safety gates and process flow (#399)
## Summary
- productize the restore wizard preview safety gates and process-flow guidance for Spec 332
- add the restore create presenter plus new process-flow, proof, scope, and safety partials
- extend restore wizard feature, smoke, screenshot, and presenter coverage
- include the Spec 332 artifacts for spec, plan, and tasks

## Notes
- branch head was already pushed before PR creation
- working tree was clean when this PR was opened

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #399
2026-05-26 00:08:25 +00:00

69 lines
3.2 KiB
PHP

<div class="space-y-4" data-testid="restore-group-picker-modal-content">
<div class="rounded-xl border border-gray-200 bg-white p-4 shadow-sm dark:border-gray-800 dark:bg-gray-900/80" data-testid="restore-group-picker-context">
<p class="text-xs font-semibold uppercase tracking-[0.2em] text-gray-500 dark:text-gray-400">
Source group
</p>
<p class="mt-2 text-sm font-medium text-gray-900 dark:text-gray-100" data-testid="restore-group-picker-source-name">
{{ $sourceGroupDisplayName ?? 'Unknown source group' }}
</p>
<p class="mt-1 text-sm text-gray-700 dark:text-gray-200" data-testid="restore-group-picker-source-id">
Source ID: {{ $sourceGroupId }}
</p>
</div>
@if ($hasCachedGroups)
<div class="space-y-2" data-testid="restore-group-picker-table">
{{ $this->table }}
</div>
@else
<div class="rounded-xl border border-dashed border-warning-300 bg-warning-50/70 p-6 dark:border-warning-700 dark:bg-warning-950/25" data-testid="restore-group-picker-empty-state">
<div class="space-y-3">
<div>
<h3 class="text-base font-semibold text-gray-950 dark:text-white">
No directory group cache available
</h3>
<p class="mt-2 text-sm leading-6 text-gray-600 dark:text-gray-300">
TenantPilot needs cached directory groups before target mappings can be selected.
</p>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-300">
Sync directory groups, then return to this mapping.
</p>
<p class="mt-1 text-sm leading-6 text-gray-600 dark:text-gray-300">
If you already know the target object ID, close this picker and enter it manually in the mapping field.
</p>
</div>
<div class="flex flex-wrap gap-3">
@if (filled($groupSyncUrl))
<x-filament::button
data-testid="restore-group-picker-open-sync"
:href="$groupSyncUrl"
tag="a"
target="_blank"
rel="noopener noreferrer"
color="primary"
size="sm"
>
Open group sync
</x-filament::button>
@endif
@if (filled($groupSyncOperationsUrl))
<x-filament::button
data-testid="restore-group-picker-view-operations"
:href="$groupSyncOperationsUrl"
tag="a"
target="_blank"
rel="noopener noreferrer"
color="gray"
size="sm"
>
View group sync operations
</x-filament::button>
@endif
</div>
</div>
</div>
@endif
</div>