diff --git a/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/CompetitionDetailComponent.tsx b/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/CompetitionDetailComponent.tsx index d416da3..7988213 100644 --- a/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/CompetitionDetailComponent.tsx +++ b/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/CompetitionDetailComponent.tsx @@ -343,7 +343,7 @@ export default function CompetitionDetailComponent({

Registrations

- {competition.registration_count ?? 0} pending + {competition.pending_registrations ?? 0} pending

diff --git a/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/tabs/RegistrationsTab.tsx b/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/tabs/RegistrationsTab.tsx index d61bc45..51b294b 100644 --- a/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/tabs/RegistrationsTab.tsx +++ b/src/app/[locale]/admin/facilities/[facility_id]/competitions/[competition_id]/tabs/RegistrationsTab.tsx @@ -82,7 +82,10 @@ function RegistrationRow({

- {registration.team_name || registration.display_name} + {registration.team_name || + registration.members?.map((m) => m.display_name).join(', ') || + registration.display_name || + 'Unknown'}

@@ -90,12 +93,15 @@ function RegistrationRow({
- {registration.members && registration.members.length > 0 && ( - - {registration.members.map((m) => m.display_name).join(', ')} - + {/* Show member names below only for teams (individuals already have member name as title) */} + {registration.team_name && registration.members && registration.members.length > 0 && ( + <> + + {registration.members.map((m) => m.display_name).join(', ')} + + + )} - {formatDate(registration.created_at)}
{registration.notes && ( diff --git a/src/lib/api/competition-admin.ts b/src/lib/api/competition-admin.ts index d08f5d6..bfc018f 100644 --- a/src/lib/api/competition-admin.ts +++ b/src/lib/api/competition-admin.ts @@ -491,7 +491,7 @@ export async function listRegistrations( } /** - * POST /competitions/{competition_id}/registrations/{registration_id}/approve + * POST /competitions/registrations/{registration_id}/approve * Approve a registration */ export async function approveRegistration( @@ -499,11 +499,14 @@ export async function approveRegistration( registrationId: number ): Promise> { try { + // Note: competitionId is kept for API consistency but not used in URL + void competitionId; const response = await apiFetch( - `/competitions/${competitionId}/registrations/${registrationId}/approve`, + `/competitions/registrations/${registrationId}/approve`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({}), } ); @@ -514,7 +517,7 @@ export async function approveRegistration( } /** - * POST /competitions/{competition_id}/registrations/{registration_id}/reject + * POST /competitions/registrations/{registration_id}/reject * Reject a registration */ export async function rejectRegistration( @@ -522,11 +525,14 @@ export async function rejectRegistration( registrationId: number ): Promise> { try { + // Note: competitionId is kept for API consistency but not used in URL + void competitionId; const response = await apiFetch( - `/competitions/${competitionId}/registrations/${registrationId}/reject`, + `/competitions/registrations/${registrationId}/reject`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({}), } ); diff --git a/src/types/competition.ts b/src/types/competition.ts index 7bc1862..828f923 100644 --- a/src/types/competition.ts +++ b/src/types/competition.ts @@ -87,6 +87,7 @@ export interface Competition { stages?: CompetitionStage[]; participant_count?: number; registration_count?: number; + pending_registrations?: number; } export interface CreateCompetitionRequest {