完成视频复刻和优化
This commit is contained in:
+22
-22
@@ -424,7 +424,7 @@ export function App() {
|
||||
const locked = lockedQuickCreateProject(listed, detailed);
|
||||
if (!locked) return;
|
||||
rememberQuickCreateJob(locked.quick_create_job_id);
|
||||
setNotice({ type: "info", text: "该项目正在极速成片中,请在极速成片页查看进度" });
|
||||
setNotice({ type: "info", text: "该项目正在一键成片中,请在一键成片页查看进度" });
|
||||
navigate("quickCreate", { productId: locked.product, replace: true });
|
||||
}, [authed, page, activeProjectId, projects, projectDetail]);
|
||||
|
||||
@@ -554,12 +554,12 @@ export function App() {
|
||||
const locked = canForce ? null : lockedQuickCreateProject(listed, detailed);
|
||||
if (locked) {
|
||||
rememberQuickCreateJob(locked.quick_create_job_id);
|
||||
setNotice({ type: "info", text: "该项目正在极速成片中,请在极速成片页查看进度" });
|
||||
setNotice({ type: "info", text: "该项目正在一键成片中,请在一键成片页查看进度" });
|
||||
next = "quickCreate";
|
||||
options = { ...options, productId: locked.product, replace: options.replace };
|
||||
}
|
||||
}
|
||||
// 图片创作 / 极速成片只有显式入口才携带商品;从工作台或视频创作进入时不能继承全局当前商品。
|
||||
// 图片创作 / 一键成片只有显式入口才携带商品;从工作台或视频创作进入时不能继承全局当前商品。
|
||||
const productId = next === "imageOptimize" || next === "quickCreate" ? options.productId : (options.productId ?? activeProductId);
|
||||
const projectId = options.projectId ?? activeProjectId;
|
||||
if (options.productId !== undefined) setActiveProductId(options.productId);
|
||||
@@ -951,7 +951,7 @@ export function App() {
|
||||
);
|
||||
case "productCreateUpload":
|
||||
// 设计稿:新建商品是商品库页上的右侧 Drawer(非独立整页),进入即自动打开
|
||||
// 创建成功后由 ProductsPage 弹「继续创建商品 / 极速成片 / 专业创作」选择弹窗,不再自动跳详情
|
||||
// 创建成功后由 ProductsPage 弹「继续创建商品 / 一键成片 / 专业创作」选择弹窗,不再自动跳详情
|
||||
return (
|
||||
<ProductsPage
|
||||
products={products}
|
||||
@@ -1284,26 +1284,26 @@ export function App() {
|
||||
return (
|
||||
<div className="app">
|
||||
<Sidebar page={page} navigate={navigate} user={currentUser} team={currentTeam} canManageBilling={isOwner} products={products} projects={projects} productTotal={productTotal} projectTotal={projectTotal} aiUnread={aiUnread} onOpenAdmin={() => navigateAdmin("")} accountOpen={accountAnchor !== null} onOpenAccount={(rect) => setAccountAnchor((prev) => (prev ? null : rect))} />
|
||||
<header className="topbar">
|
||||
<ModeTabs active={topModule} navigate={navigate} />
|
||||
<div className="right">
|
||||
<button className="top-search" type="button" onClick={() => openCommandPalette()} aria-label="搜索">
|
||||
<IconKitSvg name="search" />
|
||||
<span>搜索</span>
|
||||
<span className="kbd">{searchKbd}</span>
|
||||
</button>
|
||||
<span className="balance-chip" onClick={() => navigate("account")}>
|
||||
<IconKitSvg name="creditCard" />
|
||||
余额 <strong>{money(billing?.account.balance)}</strong>
|
||||
</span>
|
||||
<button className="icon-btn" type="button" onClick={() => navigate("messages")} title="消息中心">
|
||||
<IconKitSvg name="bell" />
|
||||
{unreadCount > 0 && <span className="count-noti">{unreadCount}</span>}
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
<Decorations />
|
||||
<header className="topbar">
|
||||
<ModeTabs active={topModule} navigate={navigate} />
|
||||
<div className="right">
|
||||
<button className="top-search" type="button" onClick={() => openCommandPalette()} aria-label="搜索">
|
||||
<IconKitSvg name="search" />
|
||||
<span>搜索</span>
|
||||
<span className="kbd">{searchKbd}</span>
|
||||
</button>
|
||||
<span className="balance-chip" onClick={() => navigate("account")}>
|
||||
<IconKitSvg name="creditCard" />
|
||||
余额 <strong>{money(billing?.account.balance)}</strong>
|
||||
</span>
|
||||
<button className="icon-btn" type="button" onClick={() => navigate("messages")} title="消息中心">
|
||||
<IconKitSvg name="bell" />
|
||||
{unreadCount > 0 && <span className="count-noti">{unreadCount}</span>}
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
<div className="content" id="page-content" key={page}>
|
||||
<CornerMarks />
|
||||
{notice && <ToastLike notice={notice} />}
|
||||
|
||||
Reference in New Issue
Block a user