From 612ac26a3b03bfe86d1db890cfbf34bb5acc31f1 Mon Sep 17 00:00:00 2001 From: Amit Date: Tue, 1 Apr 2025 08:23:41 +0000 Subject: [PATCH] patch: apply menu updates for relevant types only --- web/js/betterCombos.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/web/js/betterCombos.js b/web/js/betterCombos.js index cbf0a07..1a6f4c0 100644 --- a/web/js/betterCombos.js +++ b/web/js/betterCombos.js @@ -63,9 +63,23 @@ function showImage(relativeToEl, imageEl) { document.body.appendChild(imageEl); } +let imagePromises = {}; let imagesByType = {}; const loadImageList = async (type) => { - imagesByType[type] = await (await api.fetchApi(`/pysssss/images/${type}`)).json(); + if (!imagePromises[type]) { + imagePromises[type] = api.fetchApi(`/pysssss/images/${type}`) + .then(resp => resp.json()) + .then(data => { + imagesByType[type] = data; + return data; + }) + .catch(err => { + console.error(`Error loading images for ${type}:`, err); + imagesByType[type] = {}; + return {}; + }); + } + return imagePromises[type]; }; app.registerExtension({ @@ -157,8 +171,6 @@ app.registerExtension({ `, parent: document.body, }); - const p1 = loadImageList("checkpoints"); - const p2 = loadImageList("loras"); const refreshComboInNodes = app.refreshComboInNodes; app.refreshComboInNodes = async function () { @@ -192,8 +204,7 @@ app.registerExtension({ const updateMenu = async (menu, type) => { try { - await p1; - await p2; + await loadImageList(type); } catch (error) { console.error(error); console.error("Error loading pysssss.betterCombos data");