Files
portfolio/app/[locale]/layout.tsx
Cursor Agent 9364b44196 fix(i18n): render consent banner inside NextIntl provider
Move ConsentBanner rendering into the locale layout so next-intl context is always available (prevents missing provider errors).

fix(activity-feed): use dark styling for disabled state

Avoid white disabled cards so the feed never appears as a white/transparent block after reload.

test(e2e): assert nav text changes on locale switch

Strengthen i18n test to verify translated labels.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:09:22 +00:00

26 lines
686 B
TypeScript

import { NextIntlClientProvider } from "next-intl";
import { getMessages, setRequestLocale } from "next-intl/server";
import React from "react";
import ConsentBanner from "../components/ConsentBanner";
export default async function LocaleLayout({
children,
params,
}: {
children: React.ReactNode;
params: Promise<{ locale: string }>;
}) {
const { locale } = await params;
// Ensure next-intl actually uses the route segment locale for this request.
setRequestLocale(locale);
const messages = await getMessages();
return (
<NextIntlClientProvider locale={locale} messages={messages}>
{children}
<ConsentBanner />
</NextIntlClientProvider>
);
}