diff --git a/index.html b/index.html index 240e8dd..ba242ef 100644 --- a/index.html +++ b/index.html @@ -898,7 +898,7 @@
- +
Explore Lexica for prompts and inspiration
- Smart Object +
+ Smart Object +
- Restore Original Prompt +
+ Restore Original Prompt +
{ { console.log('value:', value) preset_store.data.selected_sd_preset_name = value.item - preset_store.data.selected_sd_preset = - preset_store.data.custom_presets[ - value.item - ] + preset_store.data.selected_sd_preset = { + ...helper_store.data.native_presets, + ...preset_store.data.custom_presets, + }[value.item] console.log( 'preset_store.data.selected_sd_preset:', preset_store.data.selected_sd_preset diff --git a/typescripts/sd_tab/util.ts b/typescripts/sd_tab/util.ts index 70272f4..222a50b 100644 --- a/typescripts/sd_tab/util.ts +++ b/typescripts/sd_tab/util.ts @@ -25,6 +25,9 @@ import { setUnitData } from '../controlnet/entry' import { controlNetUnitData } from '../controlnet/store' import { presetToStore } from '../util/ts/io' import { refreshExtraUpscalers } from '../extra_page/extra_page' + +import { readdirSync, readFileSync } from 'fs' + declare let g_models: any[] declare let g_automatic_status: any declare let g_sd_options_obj: any @@ -175,6 +178,7 @@ export const helper_store = new AStore({ hr_upscaler_list: [] as string[], previous_width: 512, previous_height: 512, + native_presets: {}, }) export async function refreshModels() { let b_result = false @@ -328,6 +332,21 @@ export async function initSamplers() { return bStatus } +export function loadNativePreset() { + const json_container: { [key: string]: any } = {} + const dir = 'plugin:/presets' // specify the directory containing the .json files + + readdirSync(dir).forEach((file) => { + if (file.endsWith('.json')) { + const fileContent = readFileSync(`${dir}/${file}`, 'utf8') + const fileNameWithoutExtension = file.slice(0, -5) + json_container[fileNameWithoutExtension] = JSON.parse(fileContent) + } + }) + + console.log(json_container) + return json_container +} export async function refreshUI() { try { const b_proxy_server_status = await updateVersionUI() @@ -375,6 +394,8 @@ export async function refreshUI() { g_controlnet_max_models = await control_net.requestControlNetMaxUnits() await control_net.initializeControlNetTab(g_controlnet_max_models) await main.populateVAE() + + helper_store.data.native_presets = loadNativePreset() } catch (e) { console.warn(e) }