fix: align rerun replacement pending cards

This commit is contained in:
Your Name 2026-06-01 21:40:03 +08:00
parent a78fd8a0d4
commit 08323571aa

View File

@ -6924,7 +6924,8 @@ export function AgentGenerationWorkspaceDarkV2({
(() => {
const isActive = activeDetailReferenceCardId === card.id;
const statusMeta = getReplacementCardStatusMeta(card.status);
const hasResult = Boolean(card.resultUrl);
const isPending = card.status === "generating" || card.status === "queued";
const hasResult = Boolean(card.resultUrl) && !isPending;
return (
<div
key={`${card.id}-result`}
@ -6938,10 +6939,10 @@ export function AgentGenerationWorkspaceDarkV2({
: "border-white/10"
)}
>
{card.resultUrl ? (
{hasResult ? (
<div className="relative min-h-[220px] overflow-hidden bg-black/30">
<AgentPreviewImage
src={card.resultUrl}
src={card.resultUrl!}
alt={`结果图 ${card.index + 1}`}
className="block h-auto w-full cursor-zoom-in"
previewWidth={720}
@ -7036,27 +7037,21 @@ export function AgentGenerationWorkspaceDarkV2({
</div>
)}
<div className="border-t border-white/10 px-3 py-2 text-[11px] text-white/45">
{card.resultUrl
{isPending
? card.status === "generating"
? "正在重做这一屏,新的结果回来后会直接覆盖当前展示。"
: card.status === "queued"
? card.queuePosition && card.queueTotal
? `这一屏已加入当前批量队列,当前批次位次 ${card.queuePosition}/${card.queueTotal}。`
: "这一屏已加入当前批量队列,前面的屏完成后会自动继续。"
: card.status === "passthrough"
? "当前参考图未检测到可替换产品,本屏先沿用参考图展示;如需继续调整,仍可在当前页改字或重新生图。"
: card.status === "fallback"
? "当前参考图替换失败,本屏先沿用参考图展示。"
: "已生成,可直接在当前页改字;如果不满意,也可以补充提示词重新生图。"
: card.status === "generating"
? "当前正在生成这一屏,请稍候。"
: card.status === "queued"
? card.queuePosition && card.queueTotal
? `当前批次位次 ${card.queuePosition}/${card.queueTotal},前面的屏完成后会继续处理这一屏。`
: "前面的屏生成完成后,会继续处理这一屏。"
: card.status === "missing"
? "当前这屏还没有回传结果,继续批量时会从这张开始补跑。"
: "生成完成后,这里支持直接在当前页面改字和单张重生。"}
: card.queuePosition && card.queueTotal
? `当前批次位次 ${card.queuePosition}/${card.queueTotal},前面的屏完成后会继续处理这一屏。`
: "前面的屏生成完成后,会继续处理这一屏。"
: card.resultUrl
? card.status === "passthrough"
? "当前参考图未检测到可替换产品,本屏先沿用参考图展示;如需继续调整,仍可在当前页改字或重新生图。"
: card.status === "fallback"
? "当前参考图替换失败,本屏先沿用参考图展示。"
: "已生成,可直接在当前页改字;如果不满意,也可以补充提示词重新生图。"
: card.status === "missing"
? "当前这屏还没有回传结果,继续批量时会从这张开始补跑。"
: "生成完成后,这里支持直接在当前页面改字和单张重生。"}
</div>
</div>
);
@ -7456,7 +7451,8 @@ export function AgentGenerationWorkspaceDarkV2({
{skuResultCards.length > 0 ? (
skuResultCards.map((card) => {
const statusMeta = getReplacementCardStatusMeta(card.status);
const hasResult = Boolean(card.resultUrl);
const isPending = card.status === "generating" || card.status === "queued";
const hasResult = Boolean(card.resultUrl) && !isPending;
return (
<div
key={`${card.id}-result`}
@ -7470,10 +7466,10 @@ export function AgentGenerationWorkspaceDarkV2({
: "border-white/10"
)}
>
{card.resultUrl ? (
{hasResult ? (
<div className="relative aspect-[5/3] overflow-hidden bg-black/30">
<AgentPreviewImage
src={card.resultUrl}
src={card.resultUrl!}
alt={`结果图 ${card.index + 1}`}
className="h-full w-full cursor-zoom-in object-cover"
previewWidth={720}
@ -7557,23 +7553,19 @@ export function AgentGenerationWorkspaceDarkV2({
</div>
)}
<div className="border-t border-white/10 px-3 py-2 text-[11px] text-white/45">
{card.resultUrl
{isPending
? card.status === "generating"
? "正在重做这一张,新的结果回来后会直接覆盖当前展示。"
: card.status === "queued"
? "这一张已加入当前批量队列,前面的图完成后会自动继续。"
: card.status === "passthrough"
? "当前参考图未检测到可替换产品,这一张先沿用参考图展示;如需继续调整,仍可在当前页改字或重新生图。"
: card.status === "fallback"
? "当前参考图替换失败,这一张先沿用参考图展示。"
: "已生成,可直接在当前页改字;如果不满意,也可以补充提示词重新生图。"
: card.status === "generating"
? "当前正在生成这一张,请稍候。"
: card.status === "queued"
? "前面的图生成完成后,会继续处理这一张。"
: card.status === "missing"
? "当前这张还没有回传结果,继续批量时会从这张开始补跑。"
: "生成完成后,这里支持直接改字、单张重生和批量下载。"}
: "前面的图生成完成后,会继续处理这一张。"
: card.resultUrl
? card.status === "passthrough"
? "当前参考图未检测到可替换产品,这一张先沿用参考图展示;如需继续调整,仍可在当前页改字或重新生图。"
: card.status === "fallback"
? "当前参考图替换失败,这一张先沿用参考图展示。"
: "已生成,可直接在当前页改字;如果不满意,也可以补充提示词重新生图。"
: card.status === "missing"
? "当前这张还没有回传结果,继续批量时会从这张开始补跑。"
: "生成完成后,这里支持直接改字、单张重生和批量下载。"}
</div>
</div>
);