fix: 测试清单(8) 新一轮 — ZWQ/PMC/设置/团队 多项修复
视频/工作台/商品库(ZWQ): - row19 视频阶段移除已取消的【上传视频】按钮 (pipeline.tsx) - row20 工作台统计栏(总项目/进行中/成片)点击跳转视频项目对应 tab (dashboard/projects/route-config/App) - row21 最新项目跳转改用真实 projectId, 不再跳到最近打开项目 (dashboard.tsx) - row22+PMC28 网格/列表视图模式持久化(localStorage), 跨菜单记住用户选择 (projects/ai-tools + 新 hook use-view-mode.ts) - row24 已有三视图的演员/模特直接复用, 不再强制点AI生成三视图 (pipeline.tsx) 图片生成/设置(PMC): - row27 任务中心: 6个进行中状态补全归类, 不再把生成中误判为失败栏 (stage-config.ts) - row29 头像上传500: avatar_url 存公读直链替代超长预签名URL(URLField max_length=200溢出) (accounts/views.py, 需部署) - row30 显示名保存后回显: 改读 first_name 回退 username, 修刷新仍旧名 (settings.tsx) - row31/32 隐藏【创作默认】【显示】两个设置模块 (settings.tsx) 平台套图(YYX): - row3 图片预览铺满占位 (ai-tools-page.css) 团队: - PMC25 充值/邀请成员/设置月限额三弹窗禁止点遮罩误关 (team.tsx) 含平台套图线上提示词优化(services.py/views.py/api.ts, 前序会话遗留一并提交) 构建: tsc --noEmit=0, npm run build=0 (1755模块); 后端 py_compile OK 注: row29 头像/后端项需部署生效 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
import { useState } from "react";
|
||||
|
||||
// 网格/列表(或任意字面量)视图模式持久化 hook。
|
||||
// 按页面独立 key 存 localStorage,切走再切回恢复上次选择。
|
||||
// SSR / 无 localStorage / 读写抛错全部容错 —— 失败时退回 defaultVal,绝不报错。
|
||||
export function useViewMode<T extends string>(key: string, defaultVal: T): [T, (value: T) => void] {
|
||||
const [view, setViewState] = useState<T>(() => {
|
||||
try {
|
||||
const saved = window.localStorage.getItem(key);
|
||||
return saved ? (saved as T) : defaultVal;
|
||||
} catch {
|
||||
return defaultVal;
|
||||
}
|
||||
});
|
||||
const setView = (value: T) => {
|
||||
setViewState(value);
|
||||
try {
|
||||
window.localStorage.setItem(key, value);
|
||||
} catch {
|
||||
// 无 localStorage / 隐私模式写满 —— 静默,内存态仍生效本次会话
|
||||
}
|
||||
};
|
||||
return [view, setView];
|
||||
}
|
||||
Reference in New Issue
Block a user