🐛 Fix locale fallback mechanism (#1734)

This commit is contained in:
Luke Vella 2025-05-28 09:44:41 +01:00 committed by GitHub
parent eb625b946f
commit 53a957dc49
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 13 additions and 16 deletions

View file

@ -1,12 +1,9 @@
import languages from "@rallly/languages";
import { getPreferredLocale } from "@rallly/languages/get-preferred-locale";
import { getPosthogBootstrapCookie } from "@rallly/posthog/utils";
import { NextResponse } from "next/server";
import { withAuth } from "@/auth/edge";
const supportedLocales = Object.keys(languages);
export const middleware = withAuth(async (req) => {
const { nextUrl } = req;
const newUrl = nextUrl.clone();
@ -19,15 +16,12 @@ export const middleware = withAuth(async (req) => {
return NextResponse.redirect(newUrl);
}
const locale =
req.auth?.user?.locale ||
getPreferredLocale({
acceptLanguageHeader: req.headers.get("accept-language") ?? undefined,
});
const locale = getPreferredLocale({
userLocale: req.auth?.user?.locale ?? undefined,
acceptLanguageHeader: req.headers.get("accept-language") ?? undefined,
});
if (supportedLocales.includes(locale)) {
newUrl.pathname = `/${locale}${pathname}`;
}
newUrl.pathname = `/${locale}${pathname}`;
const res = NextResponse.rewrite(newUrl);
res.headers.set("x-locale", locale);