- Reworked the tenant admin login page

- Updated the User model to implement Filament’s tenancy contracts
- Seeded a ready-to-use demo tenant (user, tenant, active package, purchase)
- Introduced a branded, translated 403 error page to replace the generic forbidden message for unauthorised admin hits
- Removed the public “Register” links from the marketing header
- hardened join event logic and improved error handling in the guest pwa.
This commit is contained in:
Codex Agent
2025-10-13 12:50:46 +02:00
parent 9394c3171e
commit 64a5411fb9
69 changed files with 5447 additions and 588 deletions

View File

@@ -70,6 +70,8 @@ return [
'table' => [
'tenant' => 'Tenant',
'join' => 'Join',
'join_tokens_total' => 'Join tokens: :count',
'join_tokens_missing' => 'No join tokens created yet',
],
'actions' => [
'toggle_active' => 'Toggle Active',
@@ -82,9 +84,20 @@ return [
'join_link_copied' => 'Join link copied',
],
'join_link' => [
'event_label' => 'Event',
'slug_label' => 'Slug: :slug',
'link_label' => 'Join Link',
'qr_code_label' => 'QR Code',
'note_html' => 'Note: The QR code is generated via an external QR service. For a self-hosted option, we can add internal generation later.',
'copy_link' => 'Copy',
'no_tokens' => 'No tokens available yet. Create a token in the admin app to share your event.',
'token_default' => 'Invitation #:id',
'token_usage' => 'Usage: :usage / :limit',
'token_active' => 'Active',
'token_inactive' => 'Inactive',
'layouts_heading' => 'Printable layouts',
'layouts_fallback' => 'Open layout overview',
'token_expiry' => 'Expires at :date',
'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',
],
],
@@ -206,4 +219,13 @@ return [
'shell' => [
'tenant_admin_title' => 'Tenant Admin',
],
'errors' => [
'forbidden' => [
'title' => 'Access denied',
'message' => 'You do not have permission to access this area of the admin panel.',
'hint' => 'Please verify that your tenant subscription is active or contact support if you believe this is a mistake.',
'cta' => 'Return to start page',
],
],
];