@use('Core\Access\Permission') @use('Core\Area\Cms\Logic\Actions\ResolveDashboardOperation') @use('Core\Internal\System\SystemVersion') @use('Illuminate\Support\Number') {{-- Painel: primeira tela autenticada do CMS (ADR-037), agora com leitura de operação (P5.6.S2). - boas-vindas com **dados reais** da conta (nome, perfil, e-mail) — nunca “último acesso”; - atalhos filtrados por **permissão** e **rota viva** (nunca um link morto); - cards de métrica resolvidos pelo Core (ADR-047 §5) — permissão/módulo na Action; - leitura de operação em **tabela** (sem gráfico/canvas): a Action devolve `null` sem permissão, então o número nunca vaza e a seção não aparece. Sem cards, sem atalhos e sem acessos a tela continua sendo usuário + versão (degradação). --}} @php $account ??= null; $operation ??= null; /** Atalhos de conteúdo (P5.6.S2): a rota precisa existir **e** o usuário poder ver o módulo. */ $shortcuts = [ ['route' => 'noticias.cms.index', 'module' => 'Noticias', 'icon' => 'newspaper', 'label' => 'noticias::cms.title'], ['route' => 'paginas.cms.index', 'module' => 'Paginas', 'icon' => 'file-text', 'label' => 'paginas::cms.title'], ['route' => 'destaques.cms.index', 'module' => 'Destaques', 'icon' => 'flag', 'label' => 'destaques::menu.title'], ['route' => 'dados-abertos.cms.index', 'module' => 'DadosAbertos', 'icon' => 'database', 'label' => 'dados_abertos::menu.title'], ]; $visibleShortcuts = array_values(array_filter( $shortcuts, static fn (array $shortcut): bool => Route::has($shortcut['route']) && Permission::allows($shortcut['module'], Permission::VIEW), )); $operationColumns = [ ['label' => __('layout::shell.operation_module')], ['label' => __('layout::shell.operation_requests'), 'class' => 'text-end'], ['label' => __('layout::shell.operation_bots'), 'class' => 'text-end'], ['label' => __('layout::shell.operation_errors'), 'class' => 'text-end'], ['label' => __('layout::shell.operation_duration'), 'class' => 'text-end'], ]; @endphp

{{ $account['name'] ?? auth()->user()?->name }}

{{ SystemVersion::get() }}

@if ($visibleShortcuts !== [])

{{ __('layout::shell.shortcuts') }}

@endif @if ($cards !== [])
@foreach ($cards as $metric)
@if ($metric->available && $metric->value !== null) @if ($metric->url !== null) {{ $metric->value }} — {{ __($metric->label) }} @else

{{ $metric->value }}

@endif @else

{{ __('core::cards.unavailable') }}

@endif
@endforeach
@endif @if ($operation !== null)

{{ __('layout::shell.operation_title', ['days' => ResolveDashboardOperation::WINDOW_DAYS]) }}

@foreach ($operation as $usage) {{ $usage->label }} {{ Number::format($usage->requests) }} {{ Number::format($usage->botRequests) }} {{ Number::format($usage->errors) }} {{ __('layout::shell.operation_duration_value', ['ms' => Number::format($usage->averageDurationMs)]) }} @endforeach
@endif