Primitive + Semantic 双层令牌架构,HEX->HSL,明暗双份,@theme inline 暴露为 Tailwind 类。 - 新建 src/app/styles/tokens/ 6 个令牌文件(primitive/semantic-light/semantic-dark/lesson-preparation/tailwind-theme/index) - globals.css 改为 @import 引入,477->258 行 - 清理 91 处 #hex 硬编码颜色 -> hsl(var(--*)) - 清理 10 处硬编码字体 -> var(--font-family-*) - 清理 100 文件 Tailwind 任意值(Tier 1 映射/Tier 3 注释豁免) - 清理 M3 Surface 死代码,升级 --lp-* 令牌(HEX->HSL + 暗色补全) - 新建 ESLint 自定义规则 no-hardcoded-design-tokens(单词边界正则) - eslint.config.mjs 新增 no-restricted-syntax 禁止 #hex + 自定义规则加载(pathToFileURL) - 项目规则新增设计令牌规范强制章节 - 架构图 004/005 同步设计令牌体系节点 - known-issues.md 追加设计令牌问题分类(7 个规则表) 验证: tsc --noEmit 0 errors, npm run lint 0 errors/12 warnings(均为既有问题)
23 lines
693 B
TypeScript
23 lines
693 B
TypeScript
import type { MetadataRoute } from "next";
|
|
|
|
export default function manifest(): MetadataRoute.Manifest {
|
|
return {
|
|
name: "Next_Edu - K12 智慧教务系统",
|
|
short_name: "NextEdu",
|
|
description: "Enterprise Grade K12 Education Management System",
|
|
start_url: "/",
|
|
display: "standalone",
|
|
// eslint-disable-next-line no-restricted-syntax -- PWA manifest requires literal hex
|
|
background_color: "#ffffff",
|
|
// eslint-disable-next-line no-restricted-syntax -- PWA manifest requires literal hex
|
|
theme_color: "#1976d2",
|
|
orientation: "any",
|
|
icons: [
|
|
{
|
|
src: "/icon.svg",
|
|
sizes: "any",
|
|
type: "image/svg+xml",
|
|
},
|
|
],
|
|
};
|
|
} |