website refactor

This commit is contained in:
2026-01-19 18:01:30 +01:00
parent 6154d54435
commit 61b5cf3b64
120 changed files with 2226 additions and 2021 deletions

View File

@@ -1,7 +1,3 @@
'use client';
import React from 'react';
import { useRouter, useSearchParams } from 'next/navigation';
import { CreateLeagueWizard } from '@/client-wrapper/CreateLeagueWizard';
import { Section } from '@/ui/Section';
import { Container } from '@/ui/Container';
@@ -10,11 +6,13 @@ import { SearchParamBuilder } from '@/lib/routing/search-params/SearchParamBuild
type StepName = 'basics' | 'visibility' | 'structure' | 'schedule' | 'scoring' | 'stewarding' | 'review';
export default function CreateLeaguePage() {
const router = useRouter();
const searchParams = useSearchParams();
interface CreateLeaguePageProps {
searchParams: Promise<{ [key: string]: string | string[] | undefined }>;
}
const wizardParams = SearchParamParser.parseWizard(searchParams as unknown as URLSearchParams).unwrap();
export default async function CreateLeaguePage({ searchParams }: CreateLeaguePageProps) {
const resolvedParams = await searchParams;
const wizardParams = SearchParamParser.parseWizard(resolvedParams as any).unwrap();
const rawStep = wizardParams.step;
let currentStepName: StepName = 'basics';
@@ -28,23 +26,11 @@ export default function CreateLeaguePage() {
currentStepName = rawStep;
}
const handleStepChange = (stepName: StepName) => {
const builder = new SearchParamBuilder();
// Copy existing params if needed, but here we just want to set the step
if (searchParams) {
searchParams.forEach((value, key) => {
if (key !== 'step') builder.set(key, value);
});
}
builder.step(stepName);
router.push(`/leagues/create${builder.build()}`);
};
return (
<Section>
<Container size="md">
<CreateLeagueWizard stepName={currentStepName} onStepChange={handleStepChange} />
<CreateLeagueWizard stepName={currentStepName} />
</Container>
</Section>
);
}
}