mirror of
https://github.com/MoonTechLab/LunaTV.git
synced 2026-02-24 20:34:49 +08:00
fix: dynamic site name
This commit is contained in:
@@ -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>
|
||||
);
|
||||
|
||||
@@ -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} />
|
||||
|
||||
Reference in New Issue
Block a user