+ >
+ ) : (
+
+
+ {t('labels.demoUnavailable', 'Demo-Link aktuell nicht verfügbar')}
+
+
+ {t(
+ 'labels.demoUnavailableCopy',
+ 'Führe die Demo-Seeds aus oder kontaktiere uns, damit wir dir sofort einen neuen Zugangscode hinterlegen können.',
+ )}
+
+
-
-
-
- {t('marketing.labels.readyToLaunch', 'Bereit für dein Event?')}
-
-
-
- {t('marketing.labels.readyToLaunchCopy', 'Registriere dich kostenlos und lege noch heute dein erstes Event an.')}
-
-
-
-
-
-
-
- );
+
+
+
+ {t('marketing.labels.readyToLaunch', 'Bereit für dein Event?')}
+
+
+
+ {t('marketing.labels.readyToLaunchCopy', 'Registriere dich kostenlos und lege noch heute dein erstes Event an.')}
+
+
+
+
+
+
+
+ );
};
DemoPage.layout = (page: React.ReactNode) => page;
diff --git a/resources/lang/de/api.php b/resources/lang/de/api.php
new file mode 100644
index 0000000..afa5b8d
--- /dev/null
+++ b/resources/lang/de/api.php
@@ -0,0 +1,17 @@
+ [
+ 'invalid_title' => 'Ungültiger QR-Zugang',
+ 'invalid_message' => 'Dieser QR-Link oder Zugangscode wurde nicht erkannt. Bitte scanne ihn erneut oder fordere einen neuen Link an.',
+ 'expired_title' => 'QR-Zugang abgelaufen',
+ 'expired_message' => 'Dieser QR-Zugang ist abgelaufen, weil das Event bereits beendet wurde.',
+ 'revoked_title' => 'QR-Zugang deaktiviert',
+ 'revoked_message' => 'Der Veranstalter hat diesen QR-Zugang deaktiviert. Bitte nutze einen neuen Link.',
+ 'rate_limited_title' => 'Zu viele Versuche',
+ 'rate_limited_message' => 'Der QR-Zugang wurde zu oft aufgerufen. Bitte warte kurz und versuche es erneut.',
+ 'invalid_attempts_message' => 'Der QR-Zugang wurde zu oft falsch eingegeben. Bitte versuche es in wenigen Minuten erneut.',
+ 'default_title' => 'Zugang verweigert',
+ 'default_message' => 'Mit diesem QR-Zugang konnte kein Zugriff gewährt werden.',
+ ],
+];
diff --git a/resources/lang/de/legal.php b/resources/lang/de/legal.php
index 1ce3fe0..c13bd61 100644
--- a/resources/lang/de/legal.php
+++ b/resources/lang/de/legal.php
@@ -6,7 +6,7 @@ return [
'impressum_title' => 'Impressum - Fotospiel',
'datenschutz_title' => 'Datenschutzerklärung - Fotospiel',
'impressum_section' => 'Angaben gemäß § 5 TMG',
- 'company' => 'Fotospiel GmbH',
+ 'company' => 'S.E.B. Fotografie',
'address' => 'Musterstraße 1, 12345 Musterstadt',
'representative' => 'Vertreten durch: Max Mustermann',
'contact' => 'Kontakt',
@@ -16,7 +16,7 @@ return [
'register_court' => 'Registergericht: Amtsgericht Musterstadt',
'commercial_register' => 'Handelsregister: HRB 12345',
'datenschutz_intro' => 'Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst und halten uns strikt an die Regeln der Datenschutzgesetze.',
- 'responsible' => 'Verantwortlich: Fotospiel GmbH, Musterstraße 1, 12345 Musterstadt',
+ 'responsible' => 'Verantwortlich: S.E.B. Fotografie, Musterstraße 1, 12345 Musterstadt',
'data_collection' => 'Datenerfassung: Keine PII-Speicherung, anonyme Sessions für Gäste. E-Mails werden nur für Kontaktzwecke verarbeitet.',
'payments' => 'Zahlungen und Packages',
'payments_desc' => 'Wir verarbeiten Zahlungen für Packages über Paddle. Zahlungsinformationen werden sicher und verschlüsselt durch Paddle als Merchant of Record verarbeitet.',
diff --git a/resources/lang/de/marketing.json b/resources/lang/de/marketing.json
index 50ef517..bacdd02 100644
--- a/resources/lang/de/marketing.json
+++ b/resources/lang/de/marketing.json
@@ -234,7 +234,7 @@
"discover_packages": "Pakete entdecken"
},
"footer": {
- "company": "Fotospiel GmbH",
+ "company": "S.E.B. Fotografie",
"rights_reserved": "Alle Rechte vorbehalten"
},
"register": {
diff --git a/resources/lang/de/marketing.php b/resources/lang/de/marketing.php
index 6afd8e2..922aac7 100644
--- a/resources/lang/de/marketing.php
+++ b/resources/lang/de/marketing.php
@@ -97,7 +97,7 @@ return [
'register' => 'Registrieren',
],
'footer' => [
- 'company' => 'Fotospiel GmbH',
+ 'company' => 'S.E.B. Fotografie',
'rights_reserved' => 'Alle Rechte vorbehalten',
],
'legal' => [
diff --git a/resources/lang/en/api.php b/resources/lang/en/api.php
new file mode 100644
index 0000000..e09eba4
--- /dev/null
+++ b/resources/lang/en/api.php
@@ -0,0 +1,17 @@
+ [
+ 'invalid_title' => 'Invalid QR access link',
+ 'invalid_message' => 'We could not verify this QR link or access code. Please scan it again or ask the host for a fresh link.',
+ 'expired_title' => 'QR access expired',
+ 'expired_message' => 'This QR access link is no longer valid because the event has already ended.',
+ 'revoked_title' => 'QR access disabled',
+ 'revoked_message' => 'The organiser disabled this QR access link. Please request a new one.',
+ 'rate_limited_title' => 'Too many QR attempts',
+ 'rate_limited_message' => 'You tried to open the QR access too often. Please wait a moment and try again.',
+ 'invalid_attempts_message' => 'Too many invalid QR attempts. Please wait a moment and try again.',
+ 'default_title' => 'Access denied',
+ 'default_message' => 'We could not grant access with this QR link.',
+ ],
+];
diff --git a/resources/lang/en/legal.php b/resources/lang/en/legal.php
index ee97ee8..e72cbf1 100644
--- a/resources/lang/en/legal.php
+++ b/resources/lang/en/legal.php
@@ -6,7 +6,7 @@ return [
'impressum_title' => 'Imprint - Fotospiel',
'datenschutz_title' => 'Privacy Policy - Fotospiel',
'impressum_section' => 'Information pursuant to § 5 TMG',
- 'company' => 'Fotospiel GmbH',
+ 'company' => 'S.E.B. Fotografie',
'address' => 'Musterstraße 1, 12345 Musterstadt',
'representative' => 'Represented by: Max Mustermann',
'contact' => 'Contact',
@@ -16,7 +16,7 @@ return [
'register_court' => 'Register Court: District Court Musterstadt',
'commercial_register' => 'Commercial Register: HRB 12345',
'datenschutz_intro' => 'We take the protection of your personal data very seriously and strictly adhere to the rules of data protection laws.',
- 'responsible' => 'Responsible: Fotospiel GmbH, Musterstraße 1, 12345 Musterstadt',
+ 'responsible' => 'Responsible: S.E.B. Fotografie, Musterstraße 1, 12345 Musterstadt',
'data_collection' => 'Data collection: No PII storage, anonymous sessions for guests. Emails are only processed for contact purposes.',
'payments' => 'Payments and Packages',
'payments_desc' => 'We process payments for Packages via Paddle. Payment information is handled securely and encrypted by Paddle as the merchant of record.',
diff --git a/resources/lang/en/marketing.json b/resources/lang/en/marketing.json
index 350cc0a..c25839a 100644
--- a/resources/lang/en/marketing.json
+++ b/resources/lang/en/marketing.json
@@ -234,7 +234,7 @@
"discover_packages": "Discover Packages"
},
"footer": {
- "company": "Fotospiel GmbH",
+ "company": "S.E.B. Fotografie",
"rights_reserved": "All rights reserved"
},
"register": {
diff --git a/resources/lang/en/marketing.php b/resources/lang/en/marketing.php
index 029fad5..5c29443 100644
--- a/resources/lang/en/marketing.php
+++ b/resources/lang/en/marketing.php
@@ -97,7 +97,7 @@ return [
'register' => 'Register',
],
'footer' => [
- 'company' => 'Fotospiel GmbH',
+ 'company' => 'S.E.B. Fotografie',
'rights_reserved' => 'All rights reserved',
],
'legal' => [
diff --git a/resources/views/admin.blade.php b/resources/views/admin.blade.php
index b773b16..f49ab7b 100644
--- a/resources/views/admin.blade.php
+++ b/resources/views/admin.blade.php
@@ -5,6 +5,7 @@
{{ __('admin.shell.tenant_admin_title') }}
+
diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php
index b59b2ab..097e3b3 100644
--- a/resources/views/app.blade.php
+++ b/resources/views/app.blade.php
@@ -30,8 +30,7 @@
{{ config('app.name', 'Laravel') }}
-
-
+
diff --git a/resources/views/guest.blade.php b/resources/views/guest.blade.php
index 5b6e59d..715fee9 100644
--- a/resources/views/guest.blade.php
+++ b/resources/views/guest.blade.php
@@ -5,6 +5,7 @@
{{ config('app.name', 'Fotospiel') }}
+
@viteReactRefresh
@vite(['resources/css/app.css', 'resources/js/guest/main.tsx'])
@php
diff --git a/resources/views/layouts/marketing.blade.php b/resources/views/layouts/marketing.blade.php
index 752b062..baf56d1 100644
--- a/resources/views/layouts/marketing.blade.php
+++ b/resources/views/layouts/marketing.blade.php
@@ -9,7 +9,7 @@
@yield('title', 'Fotospiel - Event-Fotos einfach und sicher mit QR-Codes')
-
+
@if($scriptNonce)