import { type NextMiddleware, NextResponse } from "next/server" import { Lang } from "@scandic-hotels/common/constants/language" import { getPublicNextURL } from "@/server/utils" import { getDefaultRequestHeaders } from "./utils" import type { MiddlewareMatcher } from "@/types/middleware" export const middleware: NextMiddleware = (request) => { const headers = getDefaultRequestHeaders(request) const preferredLang = request.cookies.get("preferredLang")?.value ?? Lang.en // Set x-lang header headers.set("x-lang", preferredLang) // Redirect to new URL if no lang in URL const newUrl = new URL(`/${preferredLang}`, getPublicNextURL(request)) return NextResponse.redirect(newUrl, { headers, }) } export const matcher: MiddlewareMatcher = (request) => { // if ULR is empty return request.nextUrl.pathname.length <= 1 }