大量修改二期功能清单内容

This commit is contained in:
Azmat@qq.com
2026-08-17 18:26:42 +08:00
parent 36e91aab3c
commit d1ecb52125
76 changed files with 4222 additions and 294 deletions
+22 -38
View File
@@ -21,6 +21,7 @@ import type {
import { publicModelDisplayName } from "./model-display";
import { generationErrorText } from "./generation-error";
import { CornerMarks, Decorations, Sidebar, ToastLike } from "./components/app-shell";
import { SystemLoading } from "./components/loading";
import {
AccountPage,
AssetFactoryPage,
@@ -769,20 +770,12 @@ export function App() {
if (booting || !user || !team) {
return (
<div className="app">
<main>
<div className="content">
<div className="page-head">
<div>
<h1></h1>
<div className="sub">
<span className="mono">// 正在拉取团队数据</span>
</div>
</div>
</div>
</div>
</main>
</div>
<SystemLoading
variant="fullscreen"
title="正在进入工作台"
description="正在同步账号与团队数据,请稍候。"
icon="layoutDashboard"
/>
);
}
@@ -985,31 +978,22 @@ export function App() {
// 详情还在拉取(刚切项目 / 首进管线):显示全屏加载占位,等完整详情到位再渲染,而不是拿轻量数据去崩。
// 拉取多次仍失败则给重试 + 返回,避免「永久卡 loading 进不来」。
if (page === "pipeline" && activeProjectId && !pipelineProject) {
const projectRef = activeProjectId.slice(0, 8).toUpperCase();
return (
<div className="app">
<main>
<div className="content">
<div className="page-head">
<div>
<h1>{projectDetailError ? "项目加载失败" : "加载中…"}</h1>
<div className="sub">
<span className="mono">{projectDetailError ? "// 网络异常或服务繁忙" : "// 正在拉取项目数据"}</span>
</div>
</div>
{projectDetailError && (
<div className="actions">
<button className="btn btn-primary" type="button" onClick={() => setDetailRetry((n) => n + 1)}>
</button>
<button className="btn btn-ghost" type="button" onClick={() => navigate("projects")}>
</button>
</div>
)}
</div>
</div>
</main>
</div>
<SystemLoading
variant="fullscreen"
state={projectDetailError ? "error" : "loading"}
title={projectDetailError ? "项目加载失败" : "正在打开项目工作台"}
description={projectDetailError ? "暂时无法连接服务,请重试或返回项目列表。" : "正在同步项目数据,请稍候。"}
icon={projectDetailError ? "activity" : "clapperboard"}
reference={projectRef}
actions={projectDetailError ? (
<>
<button className="btn btn-primary" type="button" onClick={() => setDetailRetry((n) => n + 1)}></button>
<button className="btn btn-ghost" type="button" onClick={() => navigate("projects")}></button>
</>
) : undefined}
/>
);
}
if (page === "pipeline" && pipelineProject) {