From 3c80f47f7e533c4cd11aa27156cbde3debba5802 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Wed, 21 Jun 2023 23:29:40 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/8592 --- app/src/config/bazaar.ts | 14 +++++++++++--- app/src/plugin/loader.ts | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts index fc0b5f913..b107e0651 100644 --- a/app/src/config/bazaar.ts +++ b/app/src/config/bazaar.ts @@ -727,9 +727,17 @@ export const bazaar = { }, (response) => { target.removeAttribute("disabled"); if (enabled) { - loadPlugin(app, response.data); + loadPlugin(app, response.data).then((plugin: Plugin) => { + // @ts-ignore + if (plugin.setting || plugin.__proto__.hasOwnProperty("openSetting")) { + target.parentElement.querySelector('[data-type="setting"]').classList.remove("fn__none"); + } else { + target.parentElement.querySelector('[data-type="setting"]').classList.add("fn__none"); + } + }); } else { uninstall(app, dataObj.name); + target.parentElement.querySelector('[data-type="setting"]').classList.add("fn__none"); } }); } @@ -852,7 +860,7 @@ export const bazaar = { } localSort[selectElement.parentElement.parentElement.getAttribute("data-type")] = selectElement.value; setStorageVal(Constants.LOCAL_BAZAAR, window.siyuan.storage[Constants.LOCAL_BAZAAR]); - if (cardElements.length > 1 && cardElements.length % 2 ===1) { + if (cardElements.length > 1 && cardElements.length % 2 === 1) { html += '
'; } panelElement.querySelector(".b3-cards").innerHTML = html; @@ -908,7 +916,7 @@ export const bazaar = { html += item.outerHTML; }); } - if (response.data.packages.length > 1 && response.data.packages.length % 2 ===1) { + if (response.data.packages.length > 1 && response.data.packages.length % 2 === 1) { html += '
'; } element.innerHTML = `
${html}
`; diff --git a/app/src/plugin/loader.ts b/app/src/plugin/loader.ts index e35d1b730..e31d3ab06 100644 --- a/app/src/plugin/loader.ts +++ b/app/src/plugin/loader.ts @@ -80,6 +80,7 @@ export const loadPlugin = async (app: App, item: IPluginData) => { errorExit: false }); /// #endif + return plugin; };