feat(web): 重构 9 页面界面并统一设计令牌与响应式布局
- index.css 以 Tailwind 4 @theme 落地设计令牌,全部页面按新设计稿重写 样式:首页/笔记详情/标签页/登录/后台列表/编辑/回收站/设置/404 - Layout 重构导航与主题切换;新增 Toast 轻提示组件 - 移除 vite 手动 codeSplitting:分组 chunk 会被提升进入口静态依赖并对 HTML 发出 modulepreload,lazy 路由的 CodeMirror 在所有页面被预加载 (Lighthouse unused-javascript 549KiB 的根因) - vite dev 代理补 changeOrigin:false,保留浏览器原始 Host,避免后端 Origin 校验误判跨源 403
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { useEffect } from 'react'
|
||||
import { useQuery } from '@tanstack/react-query'
|
||||
import { api } from '../lib/api'
|
||||
import type { SiteSettings } from '../lib/api'
|
||||
@@ -9,3 +10,17 @@ export function useSiteTitle() {
|
||||
staleTime: 5 * 60_000,
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置浏览器标签页标题。
|
||||
* - 生产环境首帧由服务端注入首页标题;SPA 路由切换后由此 hook 接管。
|
||||
* - dev 环境 index.html 占位符 `{{.Title}}` 也依赖此 hook 替换。
|
||||
* pageTitle 缺省时仅显示站点名。
|
||||
*/
|
||||
export function useDocumentTitle(pageTitle?: string) {
|
||||
const { data } = useSiteTitle()
|
||||
const siteName = data?.site_title ?? 'Pure Note'
|
||||
useEffect(() => {
|
||||
document.title = pageTitle ? `${pageTitle} · ${siteName}` : siteName
|
||||
}, [pageTitle, siteName])
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user