diff --git a/app/src/assets/scss/_card.scss b/app/src/assets/scss/_card.scss index ba086fc2e..fa170f8b1 100644 --- a/app/src/assets/scss/_card.scss +++ b/app/src/assets/scss/_card.scss @@ -21,6 +21,11 @@ margin: 8px; } + &--current .b3-card__info, + &--current .b3-card__actions { + background-color: var(--b3-theme-primary-lightest) + } + &__img { height: 116px; width: 100%; diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts index efd9336d8..3900ece25 100644 --- a/app/src/config/bazaar.ts +++ b/app/src/config/bazaar.ts @@ -155,9 +155,9 @@ export const bazaar = { showSwitch = true; } - return `
+ return `
-
+
${item.name} @@ -165,14 +165,14 @@ export const bazaar = { ${item.downloads}
-
+
- +
@@ -192,8 +192,12 @@ export const bazaar = { } fetchPost(url, {}, response => { let html = ""; + let showSwitch = false; + if (["icons", "themes"].includes(bazaarType)) { + showSwitch = true; + } response.data.packages.forEach((item: IBazaarItem) => { - html += `
+ html += `
${item.name} @@ -206,7 +210,11 @@ export const bazaar = { - + + + + + @@ -487,6 +495,19 @@ export const bazaar = { closeButtonBehavior: window.siyuan.config.appearance.closeButtonBehavior, nativeEmoji: window.siyuan.config.appearance.nativeEmoji, }, response => { + bazaar.element.querySelectorAll(`[data-name="${window.siyuan.config.appearance.icon}"]`).forEach(item => { + item.parentElement.classList.remove("b3-card--current"); + const switchElement = item.querySelector('[data-type="switch"]') + switchElement.classList.remove("fn__none"); + switchElement.previousElementSibling.classList.remove("fn__none"); + }) + appearance.onSetappearance(response.data); + bazaar.element.querySelectorAll(`[data-name="${packageName}"]`).forEach(item => { + item.parentElement.classList.add("b3-card--current"); + const switchElement = item.querySelector('[data-type="switch"]') + switchElement.classList.add("fn__none"); + switchElement.previousElementSibling.classList.add("fn__none"); + }) appearance.onSetappearance(response.data); }); } else if (bazaarType === "themes") { @@ -511,7 +532,20 @@ export const bazaar = { window.siyuan.config.appearance.themeJS) { exportLayout(true); } else { + const oldTheme = window.siyuan.config.appearance.mode === 1 ? window.siyuan.config.appearance.themeDark : window.siyuan.config.appearance.themeLight; + bazaar.element.querySelectorAll(`[data-name="${oldTheme}"]`).forEach(item => { + item.parentElement.classList.remove("b3-card--current"); + const switchElement = item.querySelector('[data-type="switch"]') + switchElement.classList.remove("fn__none"); + switchElement.previousElementSibling.classList.remove("fn__none"); + }) appearance.onSetappearance(response.data); + bazaar.element.querySelectorAll(`[data-name="${packageName}"]`).forEach(item => { + item.parentElement.classList.add("b3-card--current"); + const switchElement = item.querySelector('[data-type="switch"]') + switchElement.classList.add("fn__none"); + switchElement.previousElementSibling.classList.add("fn__none"); + }) } }); } diff --git a/app/src/config/index.ts b/app/src/config/index.ts index 48c464e66..a8c90ff42 100644 --- a/app/src/config/index.ts +++ b/app/src/config/index.ts @@ -68,7 +68,7 @@ export const openSetting = () => { dialog.element.querySelector(".b3-tab-bar .b3-list-item.b3-list-item--focus").classList.remove("b3-list-item--focus"); item.classList.add("b3-list-item--focus"); containerElement.classList.remove("fn__none"); - if (containerElement.innerHTML === "" || type === "repos") { + if (containerElement.innerHTML === "" || type === "repos" || type === "bazaar") { switch (type) { case "filetree": containerElement.innerHTML = fileTree.genHTML();