mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-09-29 22:06:38 +08:00
43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import Script from 'next/script';
|
|
import type { ReactNode } from 'react';
|
|
|
|
import { AppProviders } from '@/components/providers/app-providers';
|
|
import { getThemeInitScript } from '@/lib/theme/theme';
|
|
|
|
import './globals.css';
|
|
import { Geist } from 'next/font/google';
|
|
import { cn } from '@/lib/utils';
|
|
|
|
const geist = Geist({ subsets: ['latin'], variable: '--font-sans' });
|
|
|
|
export const metadata: Metadata = {
|
|
title: {
|
|
default: 'OpenFlare 控制台',
|
|
template: '%s | OpenFlare',
|
|
},
|
|
description: 'OpenFlare 管理端',
|
|
applicationName: 'OpenFlare',
|
|
};
|
|
|
|
interface RootLayoutProps {
|
|
children: ReactNode;
|
|
}
|
|
|
|
export default function RootLayout({ children }: RootLayoutProps) {
|
|
return (
|
|
<html
|
|
lang="zh-CN"
|
|
suppressHydrationWarning
|
|
className={cn('font-sans', geist.variable)}
|
|
>
|
|
<body>
|
|
<Script id="theme-init" strategy="beforeInteractive">
|
|
{getThemeInitScript()}
|
|
</Script>
|
|
<AppProviders>{children}</AppProviders>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|