// RootLayout.tsx "use client"; import { fontSans } from "@/config/fonts"; import { siteConfig } from "@/config/site"; import { Inter } from "next/font/google"; import "@/styles/globals.css"; import clsx from "clsx"; import { Metadata } from "next"; import { Providers } from "./providers"; import LoadScript from "@/utils/global"; import { NextIntlClientProvider } from "next-intl"; import { useEffect, useState, type ReactNode } from "react"; import storedLanguage from "@/store/language-store"; const inter = Inter({ subsets: ["latin"] }); // export const metadata: Metadata = { // title: { // default: siteConfig.name, // template: `%s - ${siteConfig.name}`, // }, // description: siteConfig.description, // themeColor: [ // { media: "(prefers-color-scheme: light)", color: "white" }, // { media: "(prefers-color-scheme: dark)", color: "black" }, // ], // icons: { // icon: "/logohumas.ico", // shortcut: "/favicon-16x16.png", // apple: "/apple-touch-icon.png", // }, // }; export default function RootLayout({ children }: { children: ReactNode }) { const [localeNow, setLocaleNow] = useState("id"); const locale = storedLanguage((state) => state.locale); useEffect(() => { if (locale) { setLocaleNow(locale); } }, [locale]); const [messages, setMessages] = useState(null); useEffect(() => { (async () => { const loadedMessages = (await import(`../messages/${locale}.json`)) .default; setMessages(loadedMessages); })(); }, [locale]); return (
{children}
); }