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:
@@ -105,6 +105,13 @@ return [
|
||||
'deprecated_notice' => 'Direct access via slug :slug has been retired. Share the join tokens below or manage QR layouts in the admin app.',
|
||||
'open_admin' => 'Open admin app',
|
||||
],
|
||||
'analytics' => [
|
||||
'success_total' => 'Successful checks',
|
||||
'failure_total' => 'Failures',
|
||||
'rate_limited_total' => 'Rate limited',
|
||||
'recent_24h' => 'Requests (24h)',
|
||||
'last_seen_at' => 'Last activity: :date',
|
||||
],
|
||||
],
|
||||
|
||||
'legal_pages' => [
|
||||
@@ -315,6 +322,77 @@ return [
|
||||
],
|
||||
],
|
||||
|
||||
'refresh_tokens' => [
|
||||
'menu' => 'Refresh tokens',
|
||||
'single' => 'Refresh token',
|
||||
'fields' => [
|
||||
'tenant' => 'Tenant',
|
||||
'client' => 'Client',
|
||||
'status' => 'Status',
|
||||
'revoked_reason' => 'Revoked reason',
|
||||
'created_at' => 'Created',
|
||||
'last_used_at' => 'Last used',
|
||||
'expires_at' => 'Expires at',
|
||||
'ip_address' => 'IP address',
|
||||
'user_agent' => 'User agent',
|
||||
'note' => 'Operator note',
|
||||
],
|
||||
'status' => [
|
||||
'active' => 'Active',
|
||||
'revoked' => 'Revoked',
|
||||
'expired' => 'Expired',
|
||||
],
|
||||
'filters' => [
|
||||
'status' => 'Status',
|
||||
'tenant' => 'Tenant',
|
||||
],
|
||||
'actions' => [
|
||||
'revoke' => 'Revoke token',
|
||||
],
|
||||
'reasons' => [
|
||||
'manual' => 'Manual',
|
||||
'operator' => 'Operator action',
|
||||
'rotated' => 'Rotated (auto)',
|
||||
'ip_mismatch' => 'IP mismatch',
|
||||
'expired' => 'Expired',
|
||||
'invalid_secret' => 'Invalid secret attempt',
|
||||
'tenant_missing' => 'Tenant removed',
|
||||
'max_active_limit' => 'Exceeded active token limit',
|
||||
],
|
||||
'sections' => [
|
||||
'details' => 'Token details',
|
||||
'security' => 'Security context',
|
||||
],
|
||||
'audit' => [
|
||||
'heading' => 'Audit log',
|
||||
'event' => 'Event',
|
||||
'events' => [
|
||||
'issued' => 'Issued',
|
||||
'refresh_attempt' => 'Refresh attempted',
|
||||
'refreshed' => 'Refresh succeeded',
|
||||
'client_mismatch' => 'Client mismatch',
|
||||
'invalid_secret' => 'Invalid secret',
|
||||
'ip_mismatch' => 'IP mismatch',
|
||||
'expired' => 'Expired',
|
||||
'revoked' => 'Revoked',
|
||||
'rotated' => 'Rotated',
|
||||
'tenant_missing' => 'Tenant missing',
|
||||
'max_active_limit' => 'Pruned (active limit)',
|
||||
],
|
||||
'performed_by' => 'Actor',
|
||||
'ip_address' => 'IP address',
|
||||
'context' => 'Context',
|
||||
'performed_at' => 'Timestamp',
|
||||
'empty' => [
|
||||
'heading' => 'No audit entries yet',
|
||||
'description' => 'Token activity will appear here once it is used.',
|
||||
],
|
||||
],
|
||||
'notifications' => [
|
||||
'revoked' => 'Refresh token revoked.',
|
||||
],
|
||||
],
|
||||
|
||||
'shell' => [
|
||||
'tenant_admin_title' => 'Tenant Admin',
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user