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";
|
import "@/app/globals.css";
|
||||||
|
|
||||||
export { metadata, viewport } from "@/components/layout/site-document";
|
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>
|
<html lang="zh-Hans" suppressHydrationWarning>
|
||||||
<body>
|
<body>
|
||||||
{children}
|
{children}
|
||||||
<Script id="theme-preference" src="/init-theme.js" strategy="beforeInteractive" />
|
|
||||||
<Script id="locale-canonicalization" src="/init-locale.js" strategy="beforeInteractive" />
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { useRouteLocale } from "@/components/layout/locale-context";
|
import { useRouteLocale } from "@/components/layout/locale-context";
|
||||||
|
|
||||||
import Image from "next/image";
|
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 { applyLocale, getInitialLocale, withLocale, getLocaleMessages, type Locale } from "@/lib/i18n";
|
||||||
import { ThemeToggle } from "@/components/layout/theme-toggle";
|
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");
|
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() {
|
export function SiteFooter() {
|
||||||
const [locale, setLocale] = useState<Locale>(useRouteLocale());
|
const [locale, setLocale] = useState<Locale>(useRouteLocale());
|
||||||
const [showIcp] = useState(() => typeof window !== "undefined" && isIcpVisibleHost(window.location.hostname));
|
const showIcp = useSyncExternalStore(subscribeToHost, getIcpVisibility, getServerIcpVisibility);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const syncLocale = (nextLocale: Locale) => setLocale(nextLocale);
|
const syncLocale = (nextLocale: Locale) => setLocale(nextLocale);
|
||||||
|
|||||||
Reference in New Issue
Block a user