diff --git a/apps/scandic-web/middleware.ts b/apps/scandic-web/middleware.ts index 8cffaca06..cbdf373ca 100644 --- a/apps/scandic-web/middleware.ts +++ b/apps/scandic-web/middleware.ts @@ -9,6 +9,7 @@ import * as cmsContent from "@/middlewares/cmsContent" import * as currentWebLogin from "@/middlewares/currentWebLogin" import * as currentWebLoginEmail from "@/middlewares/currentWebLoginEmail" import * as currentWebLogout from "@/middlewares/currentWebLogout" +import * as dateQueryParams from "@/middlewares/dateQueryParams" import * as familyAndFriends from "@/middlewares/familyAndFriends" import * as handleAuth from "@/middlewares/handleAuth" import * as invalidUrl from "@/middlewares/invalidUrl" @@ -60,6 +61,7 @@ export const middleware: NextMiddleware = async (request, event) => { handleAuth, myPages, webView, + dateQueryParams, legacySearchParams, bookingFlow, familyAndFriends, diff --git a/apps/scandic-web/middlewares/dateQueryParams.ts b/apps/scandic-web/middlewares/dateQueryParams.ts new file mode 100644 index 000000000..4cb97bcb2 --- /dev/null +++ b/apps/scandic-web/middlewares/dateQueryParams.ts @@ -0,0 +1,36 @@ +import { type NextMiddleware, NextResponse } from "next/server" + +import type { MiddlewareMatcher } from "@/types/middleware" + +export const middleware: NextMiddleware = (request) => { + const url = request.nextUrl.clone() + const { searchParams } = url + + let modified = false + + if (searchParams.has("fromDate")) { + const value = searchParams.get("fromDate") + searchParams.delete("fromDate") + searchParams.set("fromdate", value!) + modified = true + } + + if (searchParams.has("toDate")) { + const value = searchParams.get("toDate") + searchParams.delete("toDate") + searchParams.set("todate", value!) + modified = true + } + + if (modified) { + url.search = searchParams.toString() + return NextResponse.redirect(url) + } + + return NextResponse.next() +} + +export const matcher: MiddlewareMatcher = (request) => { + const { searchParams } = request.nextUrl + return searchParams.has("fromDate") || searchParams.has("toDate") +}