diff --git a/components/agents/AgentPsdTemplateEditorDialog.tsx b/components/agents/AgentPsdTemplateEditorDialog.tsx index 58a894eb2..a60f65834 100644 --- a/components/agents/AgentPsdTemplateEditorDialog.tsx +++ b/components/agents/AgentPsdTemplateEditorDialog.tsx @@ -41,7 +41,6 @@ import { SelectItem, SelectLabel, SelectTrigger, - SelectValue, } from "@/components/ui/select"; import { Slider } from "@/components/ui/slider"; import { Textarea } from "@/components/ui/textarea"; @@ -3039,6 +3038,94 @@ export function AgentPsdTemplateEditorDialog({ setSelectedTemplateId(nextTemplates[0].id); } + function renderTemplatePoolSection({ + mode, + templates: poolTemplates, + }: { + mode: AgentPsdTemplateMode; + templates: AgentPsdTemplate[]; + }) { + const isSkuMode = mode === "sku"; + const title = isSkuMode ? "SKU图模式模板" : "主图模式模板"; + const description = selectedCategorySummaryText + ? `当前按品类“${selectedCategorySummaryText}”筛选,同时保留“适合所有”的模板。` + : normalizedBrandName + ? `这里集中展示当前品牌下的${isSkuMode ? " SKU 图" : "主图"}模式模板。` + : `当前未选择品牌,这里展示全部品牌下的${isSkuMode ? " SKU 图" : "主图"}模式模板。`; + const emptyMessage = selectedCategorySummaryText + ? `当前品类“${selectedCategorySummaryText}”下暂无${isSkuMode ? " SKU 图" : "主图"}模式模板` + : normalizedBrandName + ? `当前品牌“${normalizedBrandName}”下暂无${isSkuMode ? " SKU 图" : "主图"}模式模板` + : `当前暂无可用的${isSkuMode ? " SKU 图" : "主图"}模式模板,请先去后台配置。`; + const loadingMessage = `正在加载${isSkuMode ? " SKU 图" : "主图"}模式模板...`; + const isCurrentResultMode = normalizedTemplateMode === mode; + + return ( + + + + + {title} + {isCurrentResultMode ? ( + + 当前模式 + + ) : null} + + + {description} + + + + {poolTemplates.length} 个模板 + + + + + {isLoading ? ( + + {Array.from({ length: 3 }).map((_, index) => ( + + {loadingMessage} + + ))} + + ) : poolTemplates.length > 0 ? ( + + {poolTemplates.map((template, index) => ( + setSelectedTemplateId(template.id)} + type="button" + > + {renderTemplatePickerCardContent(template, { + showSecondaryCategory: + shouldGroupTemplatesBySecondaryCategory, + showBrand: shouldShowTemplateBrand, + emphasize: true, + eager: index < 4, + })} + + ))} + + ) : ( + + {emptyMessage} + + )} + + + ); + } + return ( <>
+ {description} +