tenant admin startseite schicker gestaltet und super-admin und tenant admin (filament) aufgesplittet.

Es gibt nun task collections und vordefinierte tasks für alle. Onboarding verfeinert und webseite-carousel gefixt (logging später entfernen!)
This commit is contained in:
Codex Agent
2025-10-14 15:17:52 +02:00
parent 64a5411fb9
commit 1a4bdb1fe1
92 changed files with 6027 additions and 515 deletions

View File

@@ -7,6 +7,8 @@
"dashboard": "Dashboard",
"events": "Events",
"tasks": "Aufgaben",
"collections": "Aufgabenvorlagen",
"emotions": "Emotionen",
"billing": "Abrechnung",
"settings": "Einstellungen"
},

View File

@@ -146,5 +146,100 @@
"urgent": "Dringend"
}
}
,
"collections": {
"title": "Aufgabenvorlagen",
"subtitle": "Durchstöbere kuratierte Vorlagen oder aktiviere sie für deine Events.",
"actions": {
"import": "Importieren",
"create": "Vorlage erstellen",
"openTasks": "Task-Bibliothek öffnen"
},
"filters": {
"search": "Nach Vorlagen suchen",
"scope": "Bereich",
"allScopes": "Alle Bereiche",
"eventType": "Event-Typ",
"allEventTypes": "Alle Event-Typen",
"globalOnly": "Nur globale Vorlagen",
"tenantOnly": "Nur eigene Vorlagen"
},
"scope": {
"global": "Globale Vorlage",
"tenant": "Eigene Vorlage"
},
"empty": {
"title": "Noch keine Vorlagen",
"description": "Importiere eine Fotospiel-Kollektion oder erstelle dein eigenes Aufgabenpaket."
},
"dialogs": {
"importTitle": "Vorlage importieren",
"collectionLabel": "Vorlage",
"selectEvent": "Event auswählen",
"submit": "Importieren",
"cancel": "Abbrechen"
},
"notifications": {
"imported": "Vorlage erfolgreich importiert",
"error": "Vorlage konnte nicht importiert werden"
},
"errors": {
"eventsLoad": "Events konnten nicht geladen werden.",
"selectEvent": "Bitte wähle ein Event aus.",
"noEvents": "Noch keine Events lege eines an, um die Vorlage zu aktivieren."
},
"labels": {
"taskCount": "{{count}} Tasks",
"updated": "Aktualisiert: {{date}}"
},
"pagination": {
"prev": "Zurück",
"next": "Weiter",
"page": "Seite {{current}} von {{total}}"
}
},
"emotions": {
"title": "Emotionen",
"subtitle": "Verwalte Stimmungen und Icons, die deine Events begleiten.",
"actions": {
"create": "Neue Emotion",
"enable": "Aktivieren",
"disable": "Deaktivieren"
},
"scope": {
"global": "Global",
"tenant": "Eigen"
},
"labels": {
"updated": "Aktualisiert: {{date}}",
"noEventType": "Alle Event-Typen"
},
"status": {
"active": "Aktiv",
"inactive": "Inaktiv"
},
"errors": {
"genericTitle": "Aktion fehlgeschlagen",
"load": "Emotionen konnten nicht geladen werden.",
"create": "Emotion konnte nicht erstellt werden.",
"toggle": "Status konnte nicht aktualisiert werden.",
"nameRequired": "Bitte gib einen Namen ein."
},
"empty": {
"title": "Noch keine Emotionen",
"description": "Erstelle eine eigene Emotion oder verwende die Fotospiel-Vorlagen."
},
"dialogs": {
"createTitle": "Eigene Emotion hinzufügen",
"name": "Name",
"description": "Beschreibung",
"icon": "Icon",
"color": "Farbe",
"activeLabel": "Aktiv",
"activeDescription": "In Task-Listen sichtbar",
"cancel": "Abbrechen",
"submit": "Emotion speichern"
}
}
}

View File

@@ -7,6 +7,8 @@
"dashboard": "Dashboard",
"events": "Events",
"tasks": "Tasks",
"collections": "Collections",
"emotions": "Emotions",
"billing": "Billing",
"settings": "Settings"
},

View File

@@ -146,4 +146,99 @@
"urgent": "Urgent"
}
}
,
"collections": {
"title": "Task collections",
"subtitle": "Browse curated task bundles or activate them for your events.",
"actions": {
"import": "Import",
"create": "Create collection",
"openTasks": "Open task library"
},
"filters": {
"search": "Search collections",
"scope": "Scope",
"allScopes": "All scopes",
"eventType": "Event type",
"allEventTypes": "All event types",
"globalOnly": "Global templates",
"tenantOnly": "Tenant collections"
},
"scope": {
"global": "Global template",
"tenant": "Tenant-owned"
},
"empty": {
"title": "No collections yet",
"description": "Import one of Fotospiels curated templates or create your own bundle to get started."
},
"dialogs": {
"importTitle": "Import collection",
"collectionLabel": "Collection",
"selectEvent": "Select event",
"submit": "Import",
"cancel": "Cancel"
},
"notifications": {
"imported": "Collection imported successfully",
"error": "Collection could not be imported"
},
"errors": {
"eventsLoad": "Events could not be loaded.",
"selectEvent": "Please select an event.",
"noEvents": "No events yet create one to activate this collection."
},
"labels": {
"taskCount": "{{count}} tasks",
"updated": "Updated: {{date}}"
},
"pagination": {
"prev": "Previous",
"next": "Next",
"page": "Page {{current}} of {{total}}"
}
},
"emotions": {
"title": "Emotions",
"subtitle": "Manage the emotional tone available for your events.",
"actions": {
"create": "Add emotion",
"enable": "Enable",
"disable": "Disable"
},
"scope": {
"global": "Global",
"tenant": "Tenant"
},
"labels": {
"updated": "Updated: {{date}}",
"noEventType": "All event types"
},
"status": {
"active": "Active",
"inactive": "Inactive"
},
"errors": {
"genericTitle": "Action failed",
"load": "Emotions could not be loaded.",
"create": "Emotion could not be created.",
"toggle": "Emotion status could not be updated.",
"nameRequired": "Please provide a name."
},
"empty": {
"title": "No emotions yet",
"description": "Create your own emotion or use the Fotospiel defaults."
},
"dialogs": {
"createTitle": "Add custom emotion",
"name": "Name",
"description": "Description",
"icon": "Icon",
"color": "Color",
"activeLabel": "Active",
"activeDescription": "Visible in the task library",
"cancel": "Cancel",
"submit": "Save emotion"
}
}
}