This commit is contained in:
andy committed 2026-08-18 18:23:11 +08:00
1 parent 648b274c55
commit 18cb51670c
14 files changed
+420 -171

No files matched your search

+15 -17
View File
@@ -101,8 +101,7 @@ const imageSizePresets = [
type ImageSizePreset = (typeof imageSizePresets)[number];
type TemplateConsoleSnapshot = {
mode: GenerateMode;
imagePrompt: string;
promptByMode: Record<GenerateMode, string>;
imageSize: ImageSizePreset;
imageEngine: ImageGenerateEngine;
jimengInfluence: string;
@@ -541,8 +540,7 @@ export function CreateStudio({ initialMode = "image" }: { initialMode?: Generate
}
if (!templateRestoreState) {
setTemplateRestoreState({
mode: generateMode,
imagePrompt: promptByMode.image,
promptByMode: { ...promptByMode },
imageSize,
imageEngine,
jimengInfluence,
@@ -561,14 +559,13 @@ export function CreateStudio({ initialMode = "image" }: { initialMode?: Generate
setPromptScrollTop(0);
setError(null);
if (snapshot) {
setMode(snapshot.mode);
setPromptByMode((items) => ({ ...items, image: snapshot.imagePrompt }));
setPromptByMode(snapshot.promptByMode);
setImageSize(snapshot.imageSize);
setImageEngine(snapshot.imageEngine);
setJimengInfluence(snapshot.jimengInfluence);
setEvolinkQuality(snapshot.evolinkQuality);
} else {
setPromptByMode((items) => ({ ...items, image: "" }));
setPromptByMode((items) => ({ ...items, [generateMode]: "" }));
setImageSize(imageSizePresets[0]);
setImageEngine("jimeng");
setJimengInfluence(jimengInfluenceOptions[1].id);
@@ -578,18 +575,19 @@ export function CreateStudio({ initialMode = "image" }: { initialMode?: Generate
}
function applyTemplateToConsole(template: ImageTemplate, message: string) {
setMode("image");
setPromptByMode((items) => ({ ...items, image: template.prompt }));
setPromptByMode((items) => ({ ...items, [generateMode]: template.prompt }));
setActiveTemplateId(template.id);
setMaterialDraft(null);
const templateEngine = normalizeImageEngine(template.settings.engine);
if (templateEngine) setImageEngine(templateEngine);
const preset = imageSizePresets.find((item) => item.width === template.settings.width && item.height === template.settings.height);
if (preset) setImageSize(preset);
const templateInfluence = jimengInfluenceOptions.find((option) => option.scale === template.settings.scale);
if (templateInfluence) setJimengInfluence(templateInfluence.id);
const templateQuality = evolinkQualityOptions.find((option) => option.quality === template.settings.quality);
if (templateQuality) setEvolinkQuality(templateQuality.id);
if (generateMode === "image") {
const templateEngine = normalizeImageEngine(template.settings.engine);
if (templateEngine) setImageEngine(templateEngine);
const preset = imageSizePresets.find((item) => item.width === template.settings.width && item.height === template.settings.height);
if (preset) setImageSize(preset);
const templateInfluence = jimengInfluenceOptions.find((option) => option.scale === template.settings.scale);
if (templateInfluence) setJimengInfluence(templateInfluence.id);
const templateQuality = evolinkQualityOptions.find((option) => option.quality === template.settings.quality);
if (templateQuality) setEvolinkQuality(templateQuality.id);
}
setMentionState(null);
setPromptScrollTop(0);
setNotice(message);