From 0b4e56b287743c1e6a78111e57c5cf40e92b0d44 Mon Sep 17 00:00:00 2001 From: Matt Date: Sun, 15 Feb 2026 23:30:01 +0100 Subject: [PATCH] Fix slug conflict and seed import for Docker deployment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename [id] → [competitionId] under /admin/competitions/ to fix Next.js "different slug names for same dynamic path" error - Update params.id → params.competitionId in competition detail page - Fix seed import: use .js extension for tsx ESM module resolution Co-Authored-By: Claude Opus 4.6 --- prisma/seed.ts | 2 +- .../admin/competitions/{[id] => [competitionId]}/page.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename src/app/(admin)/admin/competitions/{[id] => [competitionId]}/page.tsx (99%) diff --git a/prisma/seed.ts b/prisma/seed.ts index d66611b..5af04fa 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -18,7 +18,7 @@ import { AdvancementRuleType, } from '@prisma/client' import bcrypt from 'bcryptjs' -import { defaultRoundConfig } from '../src/types/competition-configs' +import { defaultRoundConfig } from '../src/types/competition-configs.js' import { readFileSync } from 'fs' import { parse } from 'csv-parse/sync' import { join, dirname } from 'path' diff --git a/src/app/(admin)/admin/competitions/[id]/page.tsx b/src/app/(admin)/admin/competitions/[competitionId]/page.tsx similarity index 99% rename from src/app/(admin)/admin/competitions/[id]/page.tsx rename to src/app/(admin)/admin/competitions/[competitionId]/page.tsx index ab11cc3..a3c491e 100644 --- a/src/app/(admin)/admin/competitions/[id]/page.tsx +++ b/src/app/(admin)/admin/competitions/[competitionId]/page.tsx @@ -95,7 +95,7 @@ const roundTypeColors: Record = { export default function CompetitionDetailPage() { const params = useParams() - const competitionId = params.id as string + const competitionId = params.competitionId as string const utils = trpc.useUtils() const [addRoundOpen, setAddRoundOpen] = useState(false) const [roundForm, setRoundForm] = useState({