Fix tenant event form package selector so it no longer renders empty-value options, handles loading/empty
states, and pulls data from the authenticated /api/v1/tenant/packages endpoint.
(resources/js/admin/pages/EventFormPage.tsx, resources/js/admin/api.ts)
- Harden tenant-admin auth flow: prevent PKCE state loss, scope out StrictMode double-processing, add SPA
routes for /event-admin/login and /event-admin/logout, and tighten token/session clearing semantics (resources/js/admin/auth/{context,tokens}.tsx, resources/js/admin/pages/{AuthCallbackPage,LogoutPage}.tsx,
resources/js/admin/router.tsx, routes/web.php)
This commit is contained in:
@@ -68,6 +68,44 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$analytics = $token['analytics'] ?? [];
|
||||
@endphp
|
||||
|
||||
@if (!empty($analytics))
|
||||
<div class="mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4">
|
||||
<div class="rounded-lg border border-emerald-200 bg-emerald-50 p-3 text-xs text-emerald-800 dark:border-emerald-500/40 dark:bg-emerald-500/10 dark:text-emerald-100">
|
||||
<div class="text-[11px] uppercase tracking-wide">{{ __('admin.events.analytics.success_total') }}</div>
|
||||
<div class="mt-1 text-lg font-semibold">
|
||||
{{ number_format($analytics['success_total'] ?? 0) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="rounded-lg border border-rose-200 bg-rose-50 p-3 text-xs text-rose-800 dark:border-rose-500/40 dark:bg-rose-500/10 dark:text-rose-100">
|
||||
<div class="text-[11px] uppercase tracking-wide">{{ __('admin.events.analytics.failure_total') }}</div>
|
||||
<div class="mt-1 text-lg font-semibold">
|
||||
{{ number_format($analytics['failure_total'] ?? 0) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="rounded-lg border border-amber-200 bg-amber-50 p-3 text-xs text-amber-800 dark:border-amber-500/40 dark:bg-amber-500/10 dark:text-amber-100">
|
||||
<div class="text-[11px] uppercase tracking-wide">{{ __('admin.events.analytics.rate_limited_total') }}</div>
|
||||
<div class="mt-1 text-lg font-semibold">
|
||||
{{ number_format($analytics['rate_limited_total'] ?? 0) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="rounded-lg border border-slate-200 bg-slate-50 p-3 text-xs text-slate-700 dark:border-slate-700 dark:bg-slate-800/70 dark:text-slate-200">
|
||||
<div class="text-[11px] uppercase tracking-wide">{{ __('admin.events.analytics.recent_24h') }}</div>
|
||||
<div class="mt-1 text-lg font-semibold">
|
||||
{{ number_format($analytics['recent_24h'] ?? 0) }}
|
||||
</div>
|
||||
@if (!empty($analytics['last_seen_at']))
|
||||
<div class="mt-1 text-[11px] text-slate-500 dark:text-slate-400">
|
||||
{{ __('admin.events.analytics.last_seen_at', ['date' => \Carbon\Carbon::parse($analytics['last_seen_at'])->isoFormat('LLL')]) }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (!empty($token['layouts']))
|
||||
<div class="mt-4 space-y-3">
|
||||
<div class="text-xs font-semibold uppercase tracking-wide text-slate-500 dark:text-slate-400">
|
||||
|
||||
Reference in New Issue
Block a user