Improve settings persistence and initialization logic in main.js
This commit is contained in:
46
src/main.js
46
src/main.js
@@ -635,19 +635,7 @@ async function generateMap() {
|
|||||||
setStatus('Please enter a prompt');
|
setStatus('Please enter a prompt');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const settings = {
|
const settings = saveSettings(readSettingsFromInputs());
|
||||||
steps: Number(stepsInput.value) || defaultSettings.steps,
|
|
||||||
guidance: Number(guidanceInput.value) || defaultSettings.guidance,
|
|
||||||
width: Number(widthInput.value) || defaultSettings.width,
|
|
||||||
height: Number(heightInput.value) || defaultSettings.height,
|
|
||||||
scheduler: schedulerInput.value || defaultSettings.scheduler,
|
|
||||||
upscale: upscaleInput.value || defaultSettings.upscale,
|
|
||||||
seamInpaint: seamInpaintInput.checked,
|
|
||||||
modelPath: modelPathInput.value.trim() || defaultSettings.modelPath,
|
|
||||||
baseModel: baseModelInput.value.trim() || defaultSettings.baseModel,
|
|
||||||
vaeModel: vaeModelInput.value.trim() || defaultSettings.vaeModel,
|
|
||||||
};
|
|
||||||
currentSettings = settings;
|
|
||||||
generationRunning = true;
|
generationRunning = true;
|
||||||
cancelRequested = false;
|
cancelRequested = false;
|
||||||
generateBtn.disabled = false;
|
generateBtn.disabled = false;
|
||||||
@@ -715,6 +703,13 @@ function setupUI() {
|
|||||||
});
|
});
|
||||||
settingsReset.addEventListener('click', () => {
|
settingsReset.addEventListener('click', () => {
|
||||||
applySettings(defaultSettings);
|
applySettings(defaultSettings);
|
||||||
|
saveSettings(currentSettings);
|
||||||
|
});
|
||||||
|
[stepsInput, guidanceInput, widthInput, heightInput, modelPathInput, baseModelInput, vaeModelInput].forEach(input => {
|
||||||
|
input.addEventListener('input', persistSettingsFromInputs);
|
||||||
|
});
|
||||||
|
[schedulerInput, upscaleInput, seamInpaintInput].forEach(input => {
|
||||||
|
input.addEventListener('change', persistSettingsFromInputs);
|
||||||
});
|
});
|
||||||
deleteConfirmCancel.addEventListener('click', () => {
|
deleteConfirmCancel.addEventListener('click', () => {
|
||||||
closeDeleteConfirmation(false);
|
closeDeleteConfirmation(false);
|
||||||
@@ -760,7 +755,7 @@ async function setupProgressEvents() {
|
|||||||
async function bootstrap() {
|
async function bootstrap() {
|
||||||
initScene();
|
initScene();
|
||||||
setupUI();
|
setupUI();
|
||||||
applySettings(defaultSettings);
|
applySettings(loadSavedSettings() || defaultSettings);
|
||||||
await setupProgressEvents();
|
await setupProgressEvents();
|
||||||
await setSkyFromUrl(defaultTextureUrl);
|
await setSkyFromUrl(defaultTextureUrl);
|
||||||
await refreshThumbnails();
|
await refreshThumbnails();
|
||||||
@@ -768,17 +763,18 @@ async function bootstrap() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function applySettings(cfg) {
|
function applySettings(cfg) {
|
||||||
currentSettings = { ...cfg };
|
const settings = normalizeSettings(cfg);
|
||||||
stepsInput.value = cfg.steps;
|
currentSettings = settings;
|
||||||
guidanceInput.value = cfg.guidance;
|
stepsInput.value = settings.steps;
|
||||||
widthInput.value = cfg.width;
|
guidanceInput.value = settings.guidance;
|
||||||
heightInput.value = cfg.height;
|
widthInput.value = settings.width;
|
||||||
schedulerInput.value = cfg.scheduler;
|
heightInput.value = settings.height;
|
||||||
upscaleInput.value = cfg.upscale;
|
schedulerInput.value = settings.scheduler;
|
||||||
seamInpaintInput.checked = Boolean(cfg.seamInpaint);
|
upscaleInput.value = settings.upscale;
|
||||||
modelPathInput.value = cfg.modelPath;
|
seamInpaintInput.checked = settings.seamInpaint;
|
||||||
baseModelInput.value = cfg.baseModel;
|
modelPathInput.value = settings.modelPath;
|
||||||
vaeModelInput.value = cfg.vaeModel;
|
baseModelInput.value = settings.baseModel;
|
||||||
|
vaeModelInput.value = settings.vaeModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
|||||||
Reference in New Issue
Block a user