- - - {item.tag} - {item.title} - {item.meta} + + {ECOMMERCE_MATRIX_PROCESS.map((item, index) => ( + + {index > 0 ? ▸ : null} + + {item.icon} + {item.label} + {item.subLabel} + + + ))} + + + + + + + 商品原图 Input + 3000×3000 - - ))} + + + + + + DRINK MORE + + + + + DRINK MORE + + + + + DRINK MORE + + + + + + + + + + + + + + + + AI 工作流 + + {ECOMMERCE_MATRIX_AI_STEPS.map((item) => ( + + {item} + + ))} + + + + {ECOMMERCE_MATRIX_OUTPUTS.map((group, groupIndex) => ( + { + outputGroupRefs.current[groupIndex] = node; + }} + className="output-group" + > + + {group.title} + {group.subtitle} + + + {group.cards.map((card, cardIndex) => ( + + + {card.tag} + + {card.resolution} + + + ))} + + + ))} + + + + + + + + + + + + + {flowLines.map((line, index) => ( + + + + + ))} +
- {renderCardPreview(task.outputUrl, task.type === "video" ? "video" : "image", formatTaskType(task.type))} - - - {task.title} + + + {visibleWorks.map((task) => ( + + {renderCardPreview(task.outputUrl, task.type === "video" ? "video" : "image", formatTaskType(task.type))} + + + {task.title} + + {task.prompt} + + {formatTaskStatus(task.status)} + {formatProfileDate(task.createdAt)} + - {task.prompt} - - {formatTaskStatus(task.status)} - {formatProfileDate(task.createdAt)} - - - - ))} + + ))} + ) : ( renderEmptyState("向全世界展示你最得意的创作。", "开始创作", onOpenWorkbench) @@ -965,7 +1047,31 @@ function ProfilePage({ ) : null} - {authTab === "password" ? ( + {showForgotPassword ? ( + + 重置密码 + {forgotStep === "email" ? ( + setForgotEmail(e.target.value)} placeholder="输入注册邮箱" type="email" className="auth-page__forgot-input" /> + ) : forgotStep === "code" ? ( + + setForgotCode(e.target.value)} placeholder="输入验证码" maxLength={6} /> + 0 || isSendingEmail} onClick={() => void handleSendEmailCode("reset")}> + {isSendingEmail ? "发送中" : emailCooldown > 0 ? `${emailCooldown}s` : "重新发送"} + + + ) : ( + setForgotPassword(e.target.value)} placeholder="输入新密码(至少 6 位)" className="auth-page__forgot-input" /> + )} + + { setShowForgotPassword(false); setForgotStep("email"); setForgotEmail(""); setForgotCode(""); setForgotPassword(""); setNotice(null); }}>取消 + void handleForgotPassword()}> + {forgotStep === "newPassword" ? "重置密码" : "下一步"} + + + + ) : null} + + {!showForgotPassword && authTab === "password" ? ( <> @@ -1001,13 +1107,13 @@ function ProfilePage({ {mode === "login" ? ( - 忘记密码? + { setShowForgotPassword(true); setForgotStep("email"); }}>忘记密码? ) : null} > ) : null} - {authTab === "email" ? ( + {!showForgotPassword && authTab === "email" ? ( <> {mode === "register" ? ( @@ -1063,7 +1169,7 @@ function ProfilePage({ > ) : null} - {authTab === "phone" ? ( + {!showForgotPassword && authTab === "phone" ? ( <> @@ -1114,9 +1220,11 @@ function ProfilePage({ > ) : null} - {notice ? {notice} : null} + {!showForgotPassword ? ( + <> + {notice ? {notice} : null} - + {isSubmitting ? "处理中..." : mode === "login" ? "登录" : "注册"} @@ -1136,6 +1244,8 @@ function ProfilePage({ + > + ) : null}
+ {renderCardPreview(task.outputUrl, task.type === "video" ? "video" : "image", formatTaskType(task.type))} + + + {task.title} + + {task.prompt} + + {formatTaskStatus(task.status)} + {formatProfileDate(task.createdAt)} + - {task.prompt} - - {formatTaskStatus(task.status)} - {formatProfileDate(task.createdAt)} - -