diff --git a/src/routes/[lang]/schedule/[...flights]/page.tsx b/src/routes/[lang]/schedule/$.tsx similarity index 90% rename from src/routes/[lang]/schedule/[...flights]/page.tsx rename to src/routes/[lang]/schedule/$.tsx index 371ad883..f6612899 100644 --- a/src/routes/[lang]/schedule/[...flights]/page.tsx +++ b/src/routes/[lang]/schedule/$.tsx @@ -49,13 +49,12 @@ function parseFlightSegments(segments: string[]): IScheduleFlightId[] { } export default function ScheduleDetailsRoute(): JSX.Element { - const routeParams = useParams<{ flights: string; lang: string }>(); + const routeParams = useParams<{ "*": string; lang: string }>(); const locale = routeParams.lang ?? "ru"; const canonicalOrigin = getEnv().PROD_ORIGIN; - // Modern.js catch-all provides the remaining path as a single string - // joined by "/". We split it back to segments. - const rawFlights = routeParams.flights ?? ""; + // Modern.js $.tsx splat route provides the remaining path via "*" param. + const rawFlights = routeParams["*"] ?? ""; const segments = rawFlights.split("/").filter(Boolean); const flights = parseFlightSegments(segments);