Merged in fix/date-query-params (pull request #2213)
fix: date query params lowercase redirect middleware * fix: date query params lowercase redirect middleware Approved-by: Joakim Jäderberg
This commit is contained in:
@@ -9,6 +9,7 @@ import * as cmsContent from "@/middlewares/cmsContent"
|
|||||||
import * as currentWebLogin from "@/middlewares/currentWebLogin"
|
import * as currentWebLogin from "@/middlewares/currentWebLogin"
|
||||||
import * as currentWebLoginEmail from "@/middlewares/currentWebLoginEmail"
|
import * as currentWebLoginEmail from "@/middlewares/currentWebLoginEmail"
|
||||||
import * as currentWebLogout from "@/middlewares/currentWebLogout"
|
import * as currentWebLogout from "@/middlewares/currentWebLogout"
|
||||||
|
import * as dateQueryParams from "@/middlewares/dateQueryParams"
|
||||||
import * as familyAndFriends from "@/middlewares/familyAndFriends"
|
import * as familyAndFriends from "@/middlewares/familyAndFriends"
|
||||||
import * as handleAuth from "@/middlewares/handleAuth"
|
import * as handleAuth from "@/middlewares/handleAuth"
|
||||||
import * as invalidUrl from "@/middlewares/invalidUrl"
|
import * as invalidUrl from "@/middlewares/invalidUrl"
|
||||||
@@ -60,6 +61,7 @@ export const middleware: NextMiddleware = async (request, event) => {
|
|||||||
handleAuth,
|
handleAuth,
|
||||||
myPages,
|
myPages,
|
||||||
webView,
|
webView,
|
||||||
|
dateQueryParams,
|
||||||
legacySearchParams,
|
legacySearchParams,
|
||||||
bookingFlow,
|
bookingFlow,
|
||||||
familyAndFriends,
|
familyAndFriends,
|
||||||
|
|||||||
36
apps/scandic-web/middlewares/dateQueryParams.ts
Normal file
36
apps/scandic-web/middlewares/dateQueryParams.ts
Normal file
@@ -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")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user