mirror of
https://github.com/KivotosRailway/website.git
synced 2026-11-03 11:06:32 +09:00
修复优化代码带来的错误
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import Script from "next/script";
|
||||
import "@/app/globals.css";
|
||||
|
||||
export { metadata, viewport } from "@/components/layout/site-document";
|
||||
@@ -8,8 +7,6 @@ export default function RootLayout({ children }: Readonly<{ children: React.Reac
|
||||
<html lang="zh-Hans" suppressHydrationWarning>
|
||||
<body>
|
||||
{children}
|
||||
<Script id="theme-preference" src="/init-theme.js" strategy="beforeInteractive" />
|
||||
<Script id="locale-canonicalization" src="/init-locale.js" strategy="beforeInteractive" />
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { useRouteLocale } from "@/components/layout/locale-context";
|
||||
|
||||
import Image from "next/image";
|
||||
import { useEffect, useState } from "react";
|
||||
import { useEffect, useState, useSyncExternalStore } from "react";
|
||||
import { applyLocale, getInitialLocale, withLocale, getLocaleMessages, type Locale } from "@/lib/i18n";
|
||||
import { ThemeToggle } from "@/components/layout/theme-toggle";
|
||||
|
||||
@@ -19,9 +19,13 @@ function isIcpVisibleHost(hostname: string) {
|
||||
return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]" || hostname.endsWith(".kivotos.cc");
|
||||
}
|
||||
|
||||
const subscribeToHost = () => () => {};
|
||||
const getIcpVisibility = () => typeof window !== "undefined" && isIcpVisibleHost(window.location.hostname);
|
||||
const getServerIcpVisibility = () => false;
|
||||
|
||||
export function SiteFooter() {
|
||||
const [locale, setLocale] = useState<Locale>(useRouteLocale());
|
||||
const [showIcp] = useState(() => typeof window !== "undefined" && isIcpVisibleHost(window.location.hostname));
|
||||
const showIcp = useSyncExternalStore(subscribeToHost, getIcpVisibility, getServerIcpVisibility);
|
||||
|
||||
useEffect(() => {
|
||||
const syncLocale = (nextLocale: Locale) => setLocale(nextLocale);
|
||||
|
||||
Reference in New Issue
Block a user