fixed event join token handling in the event admin. created new seeders with new tenants and package purchases. added new playwright test scenarios.

This commit is contained in:
Codex Agent
2025-10-26 14:44:47 +01:00
parent 6290a3a448
commit ecf5a23b28
59 changed files with 3900 additions and 691 deletions

View File

@@ -7,7 +7,7 @@
"welcome": {
"fallbackName": "Tenant Admin",
"greeting": "Welcome, {{name}}!",
"subtitle": "Keep your events, credits, and tasks on track."
"subtitle": "Keep your events, packages, and tasks on track."
},
"errors": {
"loadFailed": "Dashboard could not be loaded."
@@ -27,6 +27,7 @@
"description": "Key tenant metrics at a glance.",
"noPackage": "No active package",
"stats": {
"activePackage": "Active package",
"activeEvents": "Active events",
"publishedHint": "{{count}} published",
"newPhotos": "New photos (7 days)",
@@ -50,9 +51,9 @@
"label": "Organise tasks",
"description": "Assign clear responsibilities."
},
"manageCredits": {
"label": "Manage credits",
"description": "Review balance and ledger."
"managePackages": {
"label": "Manage packages",
"description": "View your active package and history."
}
},
"upcoming": {
@@ -68,5 +69,78 @@
"planning": "In planning",
"noDate": "No date"
}
},
"dashboard": {
"actions": {
"newEvent": "New Event",
"allEvents": "All events",
"guidedSetup": "Guided setup"
},
"welcome": {
"fallbackName": "Tenant Admin",
"greeting": "Welcome, {{name}}!",
"subtitle": "Keep your events, packages, and tasks on track."
},
"errors": {
"loadFailed": "Dashboard could not be loaded."
},
"alerts": {
"errorTitle": "Error"
},
"welcomeCard": {
"title": "Start with the welcome journey",
"summary": "Discover the storytelling elements, choose your package, and create your first event with guided steps.",
"body1": "We guide you through packages, tasks, and gallery setup so your event shines.",
"body2": "You can return to the welcome journey at any time, even once events are live.",
"cta": "Start now"
},
"overview": {
"title": "At a glance",
"description": "Key tenant metrics at a glance.",
"noPackage": "No active package",
"stats": {
"activePackage": "Active package",
"activeEvents": "Active events",
"publishedHint": "{{count}} published",
"newPhotos": "New photos (7 days)",
"taskProgress": "Task progress",
"credits": "Credits",
"lowCredits": "Top up recommended"
}
},
"quickActions": {
"title": "Quick actions",
"description": "Jump straight to the most important actions.",
"createEvent": {
"label": "Create event",
"description": "Plan your next highlight."
},
"moderatePhotos": {
"label": "Moderate photos",
"description": "Review new uploads."
},
"organiseTasks": {
"label": "Organise tasks",
"description": "Assign clear responsibilities."
},
"managePackages": {
"label": "Manage packages",
"description": "View your active package and history."
}
},
"upcoming": {
"title": "Upcoming events",
"description": "The next dates including status and quick access.",
"settings": "Open settings",
"empty": {
"message": "No events scheduled yet. Create your first one!",
"cta": "Plan event"
},
"status": {
"live": "Live",
"planning": "In planning",
"noDate": "No date"
}
}
}
}

View File

@@ -1,22 +1,25 @@
{
"billing": {
"title": "Billing & credits",
"subtitle": "Manage balances, packages, and invoicing.",
"title": "Packages & billing",
"subtitle": "Manage your purchased packages and track their durations.",
"actions": {
"refresh": "Refresh",
"exportCsv": "Export CSV"
},
"errors": {
"load": "Unable to load billing data.",
"more": "Unable to load more ledger entries."
"load": "Unable to load package data.",
"more": "Unable to load more entries."
},
"sections": {
"overview": {
"title": "Credits & status",
"description": "Your current balance and active reseller package.",
"title": "Package overview",
"description": "Your active package and the most important metrics.",
"empty": "No active package yet.",
"emptyBadge": "No active package",
"cards": {
"balance": {
"label": "Available credits"
"package": {
"label": "Active package",
"helper": "Currently assigned"
},
"used": {
"label": "Events used",
@@ -27,13 +30,13 @@
},
"expires": {
"label": "Expires",
"helper": "Auto-renews when active"
"helper": "Auto-renews if enabled"
}
}
},
"packages": {
"title": "Package history",
"description": "Overview of active and past reseller packages.",
"description": "Overview of active and past packages.",
"empty": "No packages purchased yet.",
"card": {
"statusActive": "Active",
@@ -42,17 +45,18 @@
"available": "Remaining",
"expires": "Expires"
}
},
"ledger": {
"title": "Credit ledger",
"description": "All credit additions and deductions.",
"empty": "No ledger entries recorded yet.",
"loadMore": "Load more",
"reasons": {
"purchase": "Credit purchase",
"usage": "Usage",
"manual": "Manual adjustment"
}
}
},
"packages": {
"title": "Package history",
"description": "Overview of current and past packages.",
"empty": "No packages purchased yet.",
"card": {
"statusActive": "Active",
"statusInactive": "Inactive",
"used": "Used events",
"available": "Available",
"expires": "Expires"
}
}
},
@@ -241,4 +245,56 @@
"submit": "Save emotion"
}
}
,
"management": {
"billing": {
"title": "Packages & billing",
"subtitle": "Manage your purchased packages and track their durations.",
"actions": {
"refresh": "Refresh",
"exportCsv": "Export CSV"
},
"errors": {
"load": "Unable to load package data.",
"more": "Unable to load more entries."
},
"sections": {
"overview": {
"title": "Package overview",
"description": "Your active package and the most important metrics.",
"empty": "No active package yet.",
"emptyBadge": "No active package",
"cards": {
"package": {
"label": "Active package",
"helper": "Currently assigned"
},
"used": {
"label": "Events used",
"helper": "Remaining: {{count}}"
},
"price": {
"label": "Price (net)"
},
"expires": {
"label": "Expires",
"helper": "Auto-renews if enabled"
}
}
}
},
"packages": {
"title": "Package history",
"description": "Overview of current and past packages.",
"empty": "No packages purchased yet.",
"card": {
"statusActive": "Active",
"statusInactive": "Inactive",
"used": "Used events",
"available": "Available",
"expires": "Expires"
}
}
}
}
}