Files
no-copy-frontend/src/app/[locale]/layout.tsx
T

46 lines
1.0 KiB
TypeScript
Raw Normal View History

2025-12-10 16:39:13 +07:00
import type { Metadata } from "next";
import { NextIntlClientProvider, hasLocale } from 'next-intl';
import { notFound } from 'next/navigation';
import { routing } from '@/i18n/routing';
2026-05-08 13:39:37 +07:00
import ClientProviders from '@/app/providers/ClientProviders';
import { Suspense } from 'react';
2026-04-06 16:25:26 +07:00
2025-12-10 16:39:13 +07:00
import "../styles/globals.css";
import "../styles/global-styles.scss";
export function generateStaticParams() {
return routing.locales.map((locale: any) => ({ locale }));
}
export const metadata: Metadata = {
title: "No copy",
description: "No copy",
};
export default async function RootLayout({
children,
params
}: Readonly<{
children: React.ReactNode;
params: Promise<{ locale: string }>;
}>) {
const { locale } = await params;
if (!hasLocale(routing.locales, locale)) {
notFound();
}
return (
2026-05-08 13:39:37 +07:00
<html>
2025-12-10 16:39:13 +07:00
<body>
2026-05-08 13:39:37 +07:00
<Suspense fallback={<div>Loading...</div>}>
<NextIntlClientProvider locale={locale}>
<ClientProviders>
{children}
</ClientProviders>
</NextIntlClientProvider>
</Suspense>
2025-12-10 16:39:13 +07:00
</body>
</html>
);
}