后台站点设计UIUX优化
This commit is contained in:
@@ -2,6 +2,7 @@ import type { Metadata } from "next";
|
||||
import { cookies, headers } from "next/headers";
|
||||
import { Plus_Jakarta_Sans, Noto_Sans_SC, JetBrains_Mono } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import SiteBrandProvider from "@/components/SiteBrandProvider";
|
||||
import SiteChrome from "@/components/SiteChrome";
|
||||
import Toaster from "@/components/Toaster";
|
||||
import TipHost from "@/components/TipHost";
|
||||
@@ -19,6 +20,7 @@ import { getMeCached, getPublicSettingsCached } from "@/lib/serverData";
|
||||
import { TOKEN_COOKIE, authCookieHeader } from "@/lib/cookies";
|
||||
import { accentStyleCSS } from "@/lib/theme";
|
||||
import { bgConfigFromSettings, bgStyleCSS } from "@/lib/bg";
|
||||
import { siteDocumentTitle } from "@/lib/brand";
|
||||
import { motionConfigFromSettings } from "@/lib/motion";
|
||||
|
||||
// 构建期下载并自托管字体:同源加载 + 自动 preload + fallback 度量校正,
|
||||
@@ -47,15 +49,21 @@ const jetbrainsMono = JetBrains_Mono({
|
||||
export async function generateMetadata(): Promise<Metadata> {
|
||||
const settings = await getPublicSettingsCached();
|
||||
const name = settings.site_name || "姜十三论坛";
|
||||
const title = siteDocumentTitle(name, settings.site_slogan || "");
|
||||
const desc = settings.site_description || "姜十三论坛 - 技术分享与讨论社区";
|
||||
const keywords = settings.site_keywords?.length ? settings.site_keywords : undefined;
|
||||
return {
|
||||
title: {
|
||||
default: `${name} · J13 FORUM`,
|
||||
default: title,
|
||||
template: `%s · ${name}`,
|
||||
},
|
||||
description: desc,
|
||||
keywords,
|
||||
...(settings.favicon_url
|
||||
? { icons: { icon: settings.favicon_url } }
|
||||
: {}),
|
||||
openGraph: {
|
||||
title: `${name} · J13 FORUM`,
|
||||
title,
|
||||
description: desc,
|
||||
type: "website",
|
||||
},
|
||||
@@ -133,6 +141,7 @@ export default async function RootLayout({
|
||||
<a href="#main" className="skip-link">
|
||||
跳到主要内容
|
||||
</a>
|
||||
<SiteBrandProvider initial={settings}>
|
||||
<MotionProvider initial={motionCfg}>
|
||||
<CommentsPolicyProvider allowComments={settings.allow_comments !== false}>
|
||||
<MessagesPolicyProvider allowMessages={settings.allow_messages !== false}>
|
||||
@@ -147,7 +156,6 @@ export default async function RootLayout({
|
||||
unread={unread}
|
||||
chatUnread={settings.allow_messages !== false ? chatUnread : 0}
|
||||
theme={theme}
|
||||
siteName={settings.site_name}
|
||||
allowRegister={settings.allow_register}
|
||||
>
|
||||
{children}
|
||||
@@ -157,6 +165,7 @@ export default async function RootLayout({
|
||||
</MessagesPolicyProvider>
|
||||
</CommentsPolicyProvider>
|
||||
</MotionProvider>
|
||||
</SiteBrandProvider>
|
||||
<Toaster />
|
||||
<TipHost />
|
||||
<AccountGuard />
|
||||
|
||||
Reference in New Issue
Block a user