fix: comprehensive CMS QA fixes — i18n, UI labels, breadcrumbs
- Fix i18n dotted permission keys causing INVALID_KEY console spam (en/de cms.json) - Fix member detail breadcrumb showing UUID instead of member name - Fix bookings stats card showing 'of' instead of 'Total' - Fix events/registrations table 'status' column header resolving to object - Fix finance search placeholder showing 'Show All' instead of search text - Fix finance status filter default showing 'No data' instead of 'All' - Fix applications page German pluralization 'Antrage' → 'Anträge' - Add breadcrumbValues prop to CmsPageShell for UUID→name overrides
This commit is contained in:
@@ -126,7 +126,7 @@ export default async function BookingsPage({
|
||||
icon={<CalendarCheck className="h-5 w-5" />}
|
||||
/>
|
||||
<StatsCard
|
||||
title={t('common.of')}
|
||||
title={t('list.total')}
|
||||
value={total}
|
||||
icon={<Euro className="h-5 w-5" />}
|
||||
/>
|
||||
|
||||
@@ -138,7 +138,7 @@ export default async function EventsPage({ params, searchParams }: PageProps) {
|
||||
{t('capacity')}
|
||||
</th>
|
||||
<th scope="col" className="p-3 text-left font-medium">
|
||||
{t('status')}
|
||||
{t('statusLabel')}
|
||||
</th>
|
||||
<th scope="col" className="p-3 text-right font-medium">
|
||||
{t('registrations')}
|
||||
|
||||
@@ -116,7 +116,7 @@ export default async function EventRegistrationsPage({ params }: PageProps) {
|
||||
{t('eventDate')}
|
||||
</th>
|
||||
<th scope="col" className="p-3 text-left font-medium">
|
||||
{t('status')}
|
||||
{t('statusLabel')}
|
||||
</th>
|
||||
<th scope="col" className="p-3 text-right font-medium">
|
||||
{t('capacity')}
|
||||
|
||||
@@ -144,13 +144,13 @@ export default async function FinancePage({ params, searchParams }: PageProps) {
|
||||
|
||||
{/* Toolbar */}
|
||||
<ListToolbar
|
||||
searchPlaceholder={t('common.showAll')}
|
||||
searchPlaceholder={t('common.searchPlaceholder')}
|
||||
filters={[
|
||||
{
|
||||
param: 'status',
|
||||
label: t('common.status'),
|
||||
options: [
|
||||
{ value: '', label: t('common.noData') },
|
||||
{ value: '', label: t('common.all') },
|
||||
{ value: 'draft', label: t('status.draft') },
|
||||
{ value: 'ready', label: t('sepa.newBatch') },
|
||||
{ value: 'sent', label: t('status.sent') },
|
||||
|
||||
@@ -30,10 +30,13 @@ export default async function MemberDetailPage({ params }: Props) {
|
||||
api.listMandates(memberId),
|
||||
]);
|
||||
|
||||
const memberName = `${String(member.first_name)} ${String(member.last_name)}`;
|
||||
|
||||
return (
|
||||
<CmsPageShell
|
||||
account={account}
|
||||
title={`${String(member.first_name)} ${String(member.last_name)}`}
|
||||
title={memberName}
|
||||
breadcrumbValues={{ [memberId]: memberName }}
|
||||
>
|
||||
<MemberDetailView
|
||||
member={member}
|
||||
|
||||
Reference in New Issue
Block a user