referenzen auf "credits" entfernt. Kamera-Seite schicker gemacht

This commit is contained in:
Codex Agent
2025-11-13 10:44:16 +01:00
parent a4feb431fb
commit d9a63a6209
14 changed files with 373 additions and 219 deletions

View File

@@ -57,7 +57,7 @@
"generic": "Etwas ist schiefgelaufen. Bitte versuche es erneut.",
"eventLimit": "Dein aktuelles Paket enthält keine freien Event-Slots mehr.",
"eventLimitDetails": "{used} von {limit} Events genutzt. {remaining} verbleiben.",
"creditsExhausted": "Keine Event-Credits mehr verfügbar. Bitte buche Credits oder upgrade dein Paket.",
"creditsExhausted": "Keine Event-Slots mehr verfügbar. Bitte buche zusätzliche Slots oder upgrade dein Paket.",
"photoLimit": "Für dieses Event ist das Foto-Upload-Limit erreicht.",
"goToBilling": "Zur Paketverwaltung"
},

View File

@@ -32,8 +32,8 @@
"publishedHint": "{{count}} veröffentlicht",
"newPhotos": "Neue Fotos (7 Tage)",
"taskProgress": "Task-Fortschritt",
"credits": "Credits",
"lowCredits": "Auffüllen empfohlen"
"credits": "Event-Slots",
"lowCredits": "Mehr Slots buchen empfohlen"
}
},
"liveNow": {
@@ -202,8 +202,8 @@
"publishedHint": "{{count}} veröffentlicht",
"newPhotos": "Neue Fotos (7 Tage)",
"taskProgress": "Task-Fortschritt",
"credits": "Credits",
"lowCredits": "Auffüllen empfohlen"
"credits": "Event-Slots",
"lowCredits": "Mehr Slots buchen empfohlen"
}
},
"quickActions": {

View File

@@ -773,8 +773,8 @@
"reset": "Auf Standard setzen"
},
"meta": {
"creditLast": "Letzte Credit-Warnung: {{date}}",
"creditNever": "Noch keine Credit-Warnung versendet."
"creditLast": "Letzte Slot-Warnung: {{date}}",
"creditNever": "Noch keine Slot-Warnung versendet."
},
"items": {
"photoThresholds": {
@@ -818,8 +818,8 @@
"description": "Benachrichtige mich, wenn das Paket abgelaufen ist."
},
"creditsLow": {
"label": "Event-Credits werden knapp",
"description": "Informiert mich bei niedrigen Credit-Schwellen."
"label": "Event-Slots werden knapp",
"description": "Informiert mich bei niedrigen Slot-Schwellen."
}
}
}

View File

@@ -38,7 +38,7 @@
"ctaList": {
"choosePackage": {
"label": "Dein Eventpaket auswählen",
"description": "Reserviere Credits oder Abos, um sofort Events zu aktivieren. Flexible Optionen für jede Eventgröße.",
"description": "Reserviere Event-Slots oder Abos, um sofort Events zu aktivieren. Flexible Optionen für jede Eventgröße.",
"button": "Weiter zu Paketen"
},
"createEvent": {
@@ -58,7 +58,7 @@
"steps": {
"package": {
"title": "Paket sichern",
"hint": "Credits oder ein Abo brauchst du, bevor Gäste live gehen."
"hint": "Event-Slots oder ein Abo brauchst du, bevor Gäste live gehen."
},
"invite": {
"title": "Team einladen",
@@ -74,10 +74,10 @@
"layout": {
"eyebrow": "Schritt 2",
"title": "Wähle dein Eventpaket",
"subtitle": "Fotospiel bietet flexible Preismodelle: einmalige Credits oder Abos, die mehrere Events abdecken."
"subtitle": "Fotospiel bietet flexible Preismodelle: einmalige Event-Slots oder Abos, die mehrere Events abdecken."
},
"step": {
"title": "Aktiviere die passenden Credits",
"title": "Aktiviere die passenden Event-Slots",
"description": "Sichere dir Kapazität für dein nächstes Event. Du kannst jederzeit upgraden bezahle nur, was du brauchst."
},
"state": {
@@ -89,7 +89,7 @@
},
"card": {
"subscription": "Abo",
"creditPack": "Credit-Paket",
"creditPack": "Event-Slot-Paket",
"description": "Sofort einsatzbereit für dein nächstes Event.",
"descriptionWithPhotos": "Bis zu {{count}} Fotos inklusive perfekt für lebendige Reportagen.",
"active": "Aktives Paket",
@@ -147,7 +147,7 @@
},
"details": {
"subscription": "Abo",
"creditPack": "Credit-Paket",
"creditPack": "Event-Slot-Paket",
"photos": "Bis zu {{count}} Fotos",
"galleryDays": "Galerie {{count}} Tage",
"guests": "{{count}} Gäste",
@@ -184,7 +184,7 @@
"activate": "Gratis-Paket aktivieren",
"progress": "Aktivierung läuft …",
"successTitle": "Gratis-Paket aktiviert",
"successDescription": "Deine Credits wurden hinzugefügt. Weiter geht's mit dem Event-Setup.",
"successDescription": "Deine Event-Slots wurden hinzugefügt. Weiter geht's mit dem Event-Setup.",
"failureTitle": "Aktivierung fehlgeschlagen",
"errorMessage": "Kostenloses Paket konnte nicht aktiviert werden."
},
@@ -201,12 +201,12 @@
"nextSteps": [
"Optional: Abrechnung über Paddle im Billing-Bereich abschließen.",
"Event-Setup durchlaufen und Aufgaben, Team & Galerie konfigurieren.",
"Vor dem Go-Live Credits prüfen und Gäste-Link teilen."
"Vor dem Go-Live Event-Slots prüfen und Gäste-Link teilen."
],
"cta": {
"billing": {
"label": "Abrechnung starten",
"description": "Öffnet den Billing-Bereich mit Paddle- und Credit-Optionen.",
"description": "Öffnet den Billing-Bereich mit Paddle- und Slot-Optionen.",
"button": "Zu Billing & Zahlung"
},
"setup": {

View File

@@ -57,7 +57,7 @@
"generic": "Something went wrong. Please try again.",
"eventLimit": "Your current package has no remaining event slots.",
"eventLimitDetails": "{used} of {limit} events used. {remaining} remaining.",
"creditsExhausted": "You have no event credits remaining. Purchase credits or upgrade your package.",
"creditsExhausted": "You have no event slots remaining. Add more slots or upgrade your package.",
"photoLimit": "This event reached its photo upload limit.",
"goToBilling": "Manage subscription"
},

View File

@@ -32,8 +32,8 @@
"publishedHint": "{{count}} published",
"newPhotos": "New photos (7 days)",
"taskProgress": "Task progress",
"credits": "Credits",
"lowCredits": "Top up recommended"
"credits": "Event slots",
"lowCredits": "Add slots soon"
}
},
"liveNow": {
@@ -202,8 +202,8 @@
"publishedHint": "{{count}} published",
"newPhotos": "New photos (7 days)",
"taskProgress": "Task progress",
"credits": "Credits",
"lowCredits": "Top up recommended"
"credits": "Event slots",
"lowCredits": "Add slots soon"
}
},
"quickActions": {

View File

@@ -773,8 +773,8 @@
"reset": "Reset to defaults"
},
"meta": {
"creditLast": "Last credit warning: {{date}}",
"creditNever": "No credit warning sent yet."
"creditLast": "Last slot warning: {{date}}",
"creditNever": "No slot warning sent yet."
},
"items": {
"photoThresholds": {
@@ -818,8 +818,8 @@
"description": "Inform me once the package has expired."
},
"creditsLow": {
"label": "Event credits running low",
"description": "Warn me when credit thresholds are reached."
"label": "Event slots running low",
"description": "Warn me when slot thresholds are reached."
}
}
}

View File

@@ -38,7 +38,7 @@
"ctaList": {
"choosePackage": {
"label": "Choose your package",
"description": "Reserve credits or subscriptions to activate events instantly. Flexible options for any event size.",
"description": "Reserve event slots or subscriptions to activate events instantly. Flexible options for any event size.",
"button": "Continue to packages"
},
"createEvent": {
@@ -58,7 +58,7 @@
"steps": {
"package": {
"title": "Secure your package",
"hint": "Credits or a subscription are required before guests go live."
"hint": "Event slots or a subscription are required before guests go live."
},
"invite": {
"title": "Invite your co-hosts",
@@ -74,10 +74,10 @@
"layout": {
"eyebrow": "Step 2",
"title": "Choose your package",
"subtitle": "Fotospiel supports flexible pricing: single-use credits or subscriptions covering multiple events."
"subtitle": "Fotospiel supports flexible pricing: single-use event slots or subscriptions covering multiple events."
},
"step": {
"title": "Activate the right credits",
"title": "Activate the right plan",
"description": "Secure capacity for your next event. Upgrade at any time only pay for what you need."
},
"state": {
@@ -89,7 +89,7 @@
},
"card": {
"subscription": "Subscription",
"creditPack": "Credit pack",
"creditPack": "Event slot pack",
"description": "Ready for your next event right away.",
"descriptionWithPhotos": "Up to {{count}} photos included perfect for vibrant storytelling.",
"active": "Active package",
@@ -147,7 +147,7 @@
},
"details": {
"subscription": "Subscription",
"creditPack": "Credit pack",
"creditPack": "Event slot pack",
"photos": "Up to {{count}} photos",
"galleryDays": "{{count}} gallery days",
"guests": "{{count}} guests",
@@ -184,7 +184,7 @@
"activate": "Activate free package",
"progress": "Activating …",
"successTitle": "Free package activated",
"successDescription": "Credits added. Continue with the setup.",
"successDescription": "Event slots added. Continue with the setup.",
"failureTitle": "Activation failed",
"errorMessage": "The free package could not be activated."
},
@@ -201,12 +201,12 @@
"nextSteps": [
"Optional: finish billing via Paddle inside the billing area.",
"Complete the event setup and configure tasks, team, and gallery.",
"Check credits before go-live and share your guest link."
"Check your event slots before go-live and share your guest link."
],
"cta": {
"billing": {
"label": "Start billing",
"description": "Opens the billing area with Paddle and credit options.",
"description": "Opens the billing area with Paddle plan options.",
"button": "Go to billing"
},
"setup": {

View File

@@ -1,10 +1,9 @@
import React from 'react';
import { AlertTriangle, LogOut, Palette, UserCog } from 'lucide-react';
import { LogOut, UserCog } from 'lucide-react';
import { useNavigate } from 'react-router-dom';
import AppearanceToggleDropdown from '@/components/appearance-dropdown';
import { Button } from '@/components/ui/button';
import { CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import { Switch } from '@/components/ui/switch';
import { Alert, AlertDescription } from '@/components/ui/alert';
@@ -250,12 +249,12 @@ function NotificationPreferencesForm({
if (meta.credit_warning_sent_at) {
const date = formatDateTime(meta.credit_warning_sent_at, locale);
return translate('settings.notifications.meta.creditLast', 'Letzte Credit-Warnung: {{date}}', {
return translate('settings.notifications.meta.creditLast', 'Letzte Slot-Warnung: {{date}}', {
date,
});
}
return translate('settings.notifications.meta.creditNever', 'Noch keine Credit-Warnung versendet.');
return translate('settings.notifications.meta.creditNever', 'Noch keine Slot-Warnung versendet.');
}, [meta, translate, locale]);
return (
@@ -350,8 +349,8 @@ function buildPreferenceMeta(
},
{
key: 'credits_low',
label: translate('settings.notifications.items.creditsLow.label', 'Event-Credits werden knapp'),
description: translate('settings.notifications.items.creditsLow.description', 'Informiert mich bei niedrigen Credit-Schwellen.'),
label: translate('settings.notifications.items.creditsLow.label', 'Event-Slots werden knapp'),
description: translate('settings.notifications.items.creditsLow.description', 'Informiert mich bei niedrigen Slot-Schwellen.'),
},
];