import type { Metadata } from 'next';
import { NextIntlClientProvider } from 'next-intl';
import { getLocale, getMessages } from 'next-intl/server';
import './globals.css';
import { locales } from '@/i18n/config';

export const metadata: Metadata = {
  title: '我的博客 / My Blog',
  description: '响应式瀑布流博客系统 — 内容断点 · 埋点采集 · 多语言支持',
};

export default async function RootLayout({ children }: { children: React.ReactNode }) {
  const locale = await getLocale();
  const safeLocale = (locales as readonly string[]).includes(locale) ? locale : 'zh';
  const messages = await getMessages();

  return (
    <html lang={safeLocale}>
      <body suppressHydrationWarning>
        <NextIntlClientProvider locale={safeLocale} messages={messages}>
          {children}
        </NextIntlClientProvider>
      </body>
    </html>
  );
}
