feat: tighten agent workflow detail UI
This commit is contained in:
parent
f0cb1a4f59
commit
da6cae9103
@ -283,6 +283,9 @@ interface AgentModeReferenceSearchResponse {
|
||||
};
|
||||
}
|
||||
|
||||
const AI_DETAIL_GENERATION_DISABLED_MESSAGE = "开发中";
|
||||
const IS_AI_DETAIL_GENERATION_DISABLED = true;
|
||||
|
||||
function getTaskDetailReferenceSourceLabel(source: AgentTaskDetailReferenceSource) {
|
||||
return source === "main" ? "主图" : source === "sku" ? "SKU图" : "详情图";
|
||||
}
|
||||
@ -296,7 +299,8 @@ function getResultModeTypeByBusinessMode(
|
||||
}
|
||||
|
||||
const canReferenceReplace = mode.referenceReplaceEnabled !== false;
|
||||
const canAiDetailGenerate = mode.aiDetailGenerateEnabled !== false;
|
||||
const canAiDetailGenerate =
|
||||
mode.aiDetailGenerateEnabled !== false && !IS_AI_DETAIL_GENERATION_DISABLED;
|
||||
if (method === "ai_detail_generate" && canAiDetailGenerate) {
|
||||
return "detail_generation";
|
||||
}
|
||||
@ -1427,7 +1431,7 @@ export function AgentGenerationWorkspaceDarkV2({
|
||||
const emitAgentModeState = onAgentModeStateChange || setLocalAgentModeState;
|
||||
const detailReplacementState = resolvedAgentModeState.detailReplacement;
|
||||
const detailReplacementMethod =
|
||||
detailReplacementState.method === "ai_detail_generate"
|
||||
detailReplacementState.method === "ai_detail_generate" && !IS_AI_DETAIL_GENERATION_DISABLED
|
||||
? "ai_detail_generate"
|
||||
: "reference_replace";
|
||||
const detailReplacementReferenceCards = detailReplacementState.references;
|
||||
@ -4267,6 +4271,21 @@ export function AgentGenerationWorkspaceDarkV2({
|
||||
},
|
||||
[updateDetailReplacementState]
|
||||
);
|
||||
const handleAiDetailGenerationUnavailableClick = useCallback(() => {
|
||||
toast.info(AI_DETAIL_GENERATION_DISABLED_MESSAGE);
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
if (!IS_AI_DETAIL_GENERATION_DISABLED) {
|
||||
return;
|
||||
}
|
||||
if (detailReplacementState.method !== "ai_detail_generate") {
|
||||
return;
|
||||
}
|
||||
updateDetailReplacementState((current) => ({
|
||||
...current,
|
||||
method: "reference_replace",
|
||||
}));
|
||||
}, [detailReplacementState.method, updateDetailReplacementState]);
|
||||
const updateDetailGenerationBriefField = useCallback(
|
||||
(key: keyof AgentDetailBriefForm, value: string) => {
|
||||
updateDetailReplacementState((current) => ({
|
||||
@ -5790,7 +5809,7 @@ export function AgentGenerationWorkspaceDarkV2({
|
||||
<div className="space-y-1">
|
||||
<div className="text-sm font-semibold text-white">详情模式</div>
|
||||
<div className="text-xs text-emerald-100/72">
|
||||
顶部直接切换“参考图替换”或“AI详情生成”,生成结果会自动归档到对应分类。
|
||||
当前可使用“参考图替换”,“AI详情生成”暂为开发中,后续开放后会自动归档到对应分类。
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid w-full grid-cols-2 gap-2 lg:w-auto lg:min-w-[360px]">
|
||||
@ -5808,12 +5827,11 @@ export function AgentGenerationWorkspaceDarkV2({
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => updateDetailGenerationMethod("ai_detail_generate")}
|
||||
onClick={handleAiDetailGenerationUnavailableClick}
|
||||
aria-disabled="true"
|
||||
className={cn(
|
||||
"flex h-11 items-center justify-center rounded-[18px] border text-sm font-medium transition-all",
|
||||
isDetailAiGenerationMethod
|
||||
? "border-emerald-300/45 bg-emerald-400/18 text-white shadow-[0_0_0_1px_rgba(110,231,183,0.2),0_10px_28px_rgba(16,185,129,0.16)]"
|
||||
: "border-white/12 bg-black/25 text-white/68 hover:border-white/22 hover:text-white"
|
||||
"cursor-not-allowed border-white/10 bg-white/5 text-white/38 hover:border-white/10 hover:bg-white/5 hover:text-white/38"
|
||||
)}
|
||||
>
|
||||
AI详情生成
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user