diff --git a/src/app/(admin)/admin/projects/[id]/page.tsx b/src/app/(admin)/admin/projects/[id]/page.tsx index 12ff478..b3d62f3 100644 --- a/src/app/(admin)/admin/projects/[id]/page.tsx +++ b/src/app/(admin)/admin/projects/[id]/page.tsx @@ -105,14 +105,13 @@ function ProjectDetailContent({ projectId }: { projectId: string }) { // Extract all rounds from the competition const competitionRounds = competition?.rounds || [] - // Fetch requirements for each round - const requirementQueries = competitionRounds.map((round: { id: string; name: string }) => - trpc.file.listRequirements.useQuery({ roundId: round.id }) + // Fetch requirements for all rounds in a single query (avoids dynamic hook violation) + const roundIds = competitionRounds.map((r: { id: string }) => r.id) + const { data: allRequirements = [] } = trpc.file.listRequirementsByRounds.useQuery( + { roundIds }, + { enabled: roundIds.length > 0 } ) - // Combine requirements from all rounds - const allRequirements = requirementQueries.flatMap((q: { data?: unknown[] }) => q.data || []) - const utils = trpc.useUtils() if (isLoading) { @@ -592,7 +591,7 @@ function ProjectDetailContent({ projectId }: { projectId: string }) {
)}