fix: dynamic site name

This commit is contained in:
shinya
2025-07-01 00:20:51 +08:00
parent 0563f2478e
commit 58f505e9d7
5 changed files with 46 additions and 11 deletions

View File

@@ -4,11 +4,13 @@ import { Inter } from 'next/font/google';
import './globals.css';
import AuthProvider from '../components/AuthProvider';
import { SiteNameProvider } from '../components/SiteNameContext';
import { ThemeProvider } from '../components/ThemeProvider';
const inter = Inter({ subsets: ['latin'] });
export const dynamic = 'force-dynamic';
export const runtime = 'edge';
export function generateMetadata(): Metadata {
return {
@@ -31,19 +33,24 @@ export default function RootLayout({
}: {
children: React.ReactNode;
}) {
const siteName = process.env.NEXT_PUBLIC_SITE_NAME || 'MoonTV';
return (
<html lang='zh-CN' suppressHydrationWarning>
<body
className={`${inter.className} min-h-screen bg-white text-gray-900 dark:bg-black dark:text-gray-200`}
data-site-name={siteName}
>
<ThemeProvider
attribute='class'
defaultTheme='system'
enableSystem
disableTransitionOnChange
>
<AuthProvider>{children}</AuthProvider>
</ThemeProvider>
<SiteNameProvider value={siteName}>
<ThemeProvider
attribute='class'
defaultTheme='system'
enableSystem
disableTransitionOnChange
>
<AuthProvider>{children}</AuthProvider>
</ThemeProvider>
</SiteNameProvider>
</body>
</html>
);

View File

@@ -3,6 +3,7 @@
import { useRouter, useSearchParams } from 'next/navigation';
import { Suspense, useState } from 'react';
import { useSiteName } from '@/components/SiteNameContext';
import { ThemeToggle } from '@/components/ThemeToggle';
export const dynamic = 'force-dynamic';
@@ -90,7 +91,7 @@ function LoginPageClient({ siteName }: { siteName: string }) {
}
export default function LoginPage() {
const siteName = process.env.NEXT_PUBLIC_SITE_NAME || 'MoonTV';
const siteName = useSiteName();
return (
<Suspense>
<LoginPageClient siteName={siteName} />