Fix dynamic locale fallback resolution
CI / quality (push) Waiting to run

This commit is contained in:
MOH
2026-03-15 05:27:19 +01:00
parent 27df4ad2fe
commit 060d48f9c4
3 changed files with 8 additions and 10 deletions
+2 -4
View File
@@ -84,10 +84,8 @@ export default async function RootLayout({
}>) { }>) {
noStore(); noStore();
const [locale, siteSettings] = await Promise.all([ const siteSettings = await getSiteSettings();
getLocale().catch(() => "de"), const locale = await getLocale().catch(() => siteSettings.defaultLocale);
getSiteSettings(),
]);
return ( return (
<html lang={locale} dir={getDirection(locale)} suppressHydrationWarning> <html lang={locale} dir={getDirection(locale)} suppressHydrationWarning>
+2 -5
View File
@@ -1,13 +1,10 @@
"use client"; "use client";
import { usePathname } from "next/navigation"; import { useLocale } from "next-intl";
import { Toaster as HotToaster, type ToasterProps } from "react-hot-toast"; import { Toaster as HotToaster, type ToasterProps } from "react-hot-toast";
import { resolveLocale } from "@/lib/locale";
export function Toaster(props: ToasterProps) { export function Toaster(props: ToasterProps) {
const pathname = usePathname(); const locale = useLocale();
const locale = resolveLocale(pathname.split("/")[1] || "de");
const isArabic = locale === "ar"; const isArabic = locale === "ar";
const toastClassName = `${isArabic ? "font-arabic tracking-normal" : "font-latin"} text-[13px] leading-5`; const toastClassName = `${isArabic ? "font-arabic tracking-normal" : "font-latin"} text-[13px] leading-5`;
+4 -1
View File
@@ -1,14 +1,17 @@
import { getRequestConfig } from "next-intl/server"; import { getRequestConfig } from "next-intl/server";
import { getSiteSettings } from "@/lib/app-config";
import { routing } from "./routing"; import { routing } from "./routing";
export default getRequestConfig(async ({ requestLocale }) => { export default getRequestConfig(async ({ requestLocale }) => {
const siteSettings = await getSiteSettings();
const requestedLocale = await requestLocale; const requestedLocale = await requestLocale;
const locale = const locale =
requestedLocale && requestedLocale &&
routing.locales.includes(requestedLocale as (typeof routing.locales)[number]) routing.locales.includes(requestedLocale as (typeof routing.locales)[number])
? requestedLocale ? requestedLocale
: routing.defaultLocale; : siteSettings.defaultLocale;
return { return {
locale, locale,