diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts index 21cb95a10..1449cec8e 100644 --- a/app/src/config/bazaar.ts +++ b/app/src/config/bazaar.ts @@ -215,6 +215,12 @@ export const bazaar = { `; }, _genMyHTML(bazaarType: TBazaarType, app: App) { + const contentElement = bazaar.element.querySelector("#configBazaarDownloaded"); + if (contentElement.getAttribute("data-loading") === "true" || + contentElement.previousElementSibling.querySelector(`[data-type="my${bazaarType.replace(bazaarType[0], bazaarType[0].toUpperCase()).substring(0, bazaarType.length - 1)}"]`).classList.contains("b3-button--outline")) { + return; + } + contentElement.setAttribute("data-loading", "true"); let url = "/api/bazaar/getInstalledTheme"; if (bazaarType === "icons") { url = "/api/bazaar/getInstalledIcon"; @@ -226,6 +232,7 @@ export const bazaar = { url = "/api/bazaar/getInstalledPlugin"; } fetchPost(url, {}, response => { + contentElement.removeAttribute("data-loading"); let html = ""; let showSwitch = false; if (["icons", "themes"].includes(bazaarType)) { @@ -288,7 +295,7 @@ export const bazaar = { `; }); bazaar._data.downloaded = response.data.packages; - bazaar.element.querySelector("#configBazaarDownloaded").innerHTML = html ? html : `