From 5c8e205c03b3527e912e3deb3d86acb15628a0df Mon Sep 17 00:00:00 2001 From: Linus Flood Date: Wed, 17 Dec 2025 08:04:01 +0000 Subject: [PATCH] Merged in feat/book-606-logout-redirect (pull request #3353) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat(BOOK-606): redirect to /lang when signing out instead of /en * feat(BOOK-606): redirect to /lang when signing out instead of /en Approved-by: Joakim Jäderberg Approved-by: Matilda Landström --- .../app/[lang]/(live)/(protected)/logout/route.ts | 11 +++++++++-- .../[lang]/(live)/(protected)/logoutSafely/route.ts | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/scandic-web/app/[lang]/(live)/(protected)/logout/route.ts b/apps/scandic-web/app/[lang]/(live)/(protected)/logout/route.ts index aa1e70b00..e19341f20 100644 --- a/apps/scandic-web/app/[lang]/(live)/(protected)/logout/route.ts +++ b/apps/scandic-web/app/[lang]/(live)/(protected)/logout/route.ts @@ -1,7 +1,9 @@ import { type NextRequest, NextResponse } from "next/server" import { AuthError } from "next-auth" +import { Lang } from "@scandic-hotels/common/constants/language" import { logger } from "@scandic-hotels/common/logger" +import { isValidLang } from "@scandic-hotels/common/utils/languages" import { env } from "@/env/server" import { internalServerError } from "@/server/errors/next" @@ -9,8 +11,13 @@ import { getPublicURL } from "@/server/utils" import { signOut } from "@/auth" -export async function GET(request: NextRequest) { +export async function GET( + request: NextRequest, + context: RouteContext<"/[lang]/logout"> +) { const publicURL = getPublicURL(request) + const params = await context.params + const lang = isValidLang(params.lang) ? params.lang : Lang.en let redirectTo: string = "" @@ -20,7 +27,7 @@ export async function GET(request: NextRequest) { const redirectToSearchParamValue = request.nextUrl.searchParams.get("redirectTo") - const redirectToFallback = "/" + const redirectToFallback = `/${lang}` redirectTo = redirectToSearchParamValue || redirectToFallback diff --git a/apps/scandic-web/app/[lang]/(live)/(protected)/logoutSafely/route.ts b/apps/scandic-web/app/[lang]/(live)/(protected)/logoutSafely/route.ts index 47f6ec36d..563aea5a5 100644 --- a/apps/scandic-web/app/[lang]/(live)/(protected)/logoutSafely/route.ts +++ b/apps/scandic-web/app/[lang]/(live)/(protected)/logoutSafely/route.ts @@ -1,7 +1,9 @@ import { type NextRequest, NextResponse } from "next/server" import { AuthError } from "next-auth" +import { Lang } from "@scandic-hotels/common/constants/language" import { logger } from "@scandic-hotels/common/logger" +import { isValidLang } from "@scandic-hotels/common/utils/languages" import { env } from "@/env/server" import { internalServerError } from "@/server/errors/next" @@ -9,11 +11,16 @@ import { getPublicURL } from "@/server/utils" import { signOut } from "@/auth" -export async function GET(request: NextRequest) { +export async function GET( + request: NextRequest, + context: RouteContext<"/[lang]/logoutSafely"> +) { const publicURL = getPublicURL(request) + const params = await context.params + const lang = isValidLang(params.lang) ? params.lang : Lang.en const redirectToSearchParamValue = request.nextUrl.searchParams.get("redirectTo") - const redirectToFallback = "/" + const redirectToFallback = `/${lang}` let redirectTo: string = redirectToSearchParamValue || redirectToFallback