import { NextIntlClientProvider } from 'next-intl'; import { getMessages } from 'next-intl/server'; import { notFound } from 'next/navigation'; import { routing } from '@/i18n/routing'; import type { Metadata } from "next"; import { Geist, Geist_Mono, Kaisei_Decol } from "next/font/google"; import "../globals.css"; const kaiseiDecol = Kaisei_Decol({ variable: "--font-kaisei-decol", subsets: ["latin"], weight: ["400", "500", "700"], }); const geistSans = Geist({ variable: "--font-geist-sans", subsets: ["latin"], }); const geistMono = Geist_Mono({ variable: "--font-geist-mono", subsets: ["latin"], }); export const metadata: Metadata = { title: "KreatiVortex", description: "Indonesian traditional dance learning platform", }; export default async function RootLayout({ children, params, }: { children: React.ReactNode; params: Promise<{ locale: string }>; }) { const { locale } = await params; // Ensure that the incoming `locale` is valid if (!routing.locales.includes(locale as any)) { notFound(); } // Providing all messages to the client // side is the easiest way to get started const messages = await getMessages(); return (