Fix request locale resolution in site pages
CI / quality (push) Waiting to run

This commit is contained in:
MOH
2026-03-15 08:20:39 +01:00
parent c18128c965
commit 288e4b37d7
10 changed files with 80 additions and 81 deletions
+10 -12
View File
@@ -10,7 +10,7 @@ import {
Search,
} from "lucide-react";
import Link from "next/link";
import { getTranslations } from "next-intl/server";
import { getLocale, getTranslations } from "next-intl/server";
import { Container } from "@/components/layout/container";
import { HomeHero } from "@/components/layout/home-hero";
@@ -21,7 +21,7 @@ import { buildLocalizedMetadata } from "@/lib/metadata";
import { AppCard } from "@/components/ui/app-card";
import { Button } from "@/components/ui/button";
import { CardContent } from "@/components/ui/card";
import { FALLBACK_LOCALE, getLocalizedPath, resolveLocale } from "@/lib/locale";
import { getLocalizedPath, resolveLocale } from "@/lib/locale";
type HomePageProps = {
params: Promise<{
@@ -42,12 +42,10 @@ const serviceIcons = [
export const dynamic = "force-dynamic";
export async function generateMetadata({ params }: HomePageProps): Promise<Metadata> {
const { locale } = await params;
const localeKey = resolveLocale(locale, FALLBACK_LOCALE);
const [t, siteSettings] = await Promise.all([
getTranslations({ locale: localeKey, namespace: "homepage" }),
getSiteSettings(),
]);
await params;
const siteSettings = await getSiteSettings();
const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale);
const t = await getTranslations({ locale: localeKey, namespace: "homepage" });
return await buildLocalizedMetadata({
locale: localeKey,
@@ -59,12 +57,12 @@ export async function generateMetadata({ params }: HomePageProps): Promise<Metad
}
export default async function HomePage({ params }: HomePageProps) {
const { locale } = await params;
const localeKey = resolveLocale(locale, FALLBACK_LOCALE);
const [t, marqueeSettings, siteSettings] = await Promise.all([
await params;
const siteSettings = await getSiteSettings();
const localeKey = resolveLocale(await getLocale().catch(() => siteSettings.defaultLocale), siteSettings.defaultLocale);
const [t, marqueeSettings] = await Promise.all([
getTranslations({ locale: localeKey, namespace: "homepage" }),
getMarqueeSettings(),
getSiteSettings(),
]);
const serviceItems = [
t("serviceBrand"),