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({
- {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 {