Vanessa 2022-11-16 10:09:44 +08:00
parent 9daeb34357
commit ed58765121
2 changed files with 12 additions and 41 deletions

View file

@ -485,22 +485,9 @@ export const bazaar = {
}
if (bazaarType === "icons") {
fetchPost("/api/setting/setAppearance", {
fetchPost("/api/setting/setAppearance", Object.assign({}, window.siyuan.config.appearance, {
icon: packageName,
mode: window.siyuan.config.appearance.mode,
modeOS: window.siyuan.config.appearance.modeOS,
codeBlockThemeDark: window.siyuan.config.appearance.codeBlockThemeDark,
codeBlockThemeLight: window.siyuan.config.appearance.codeBlockThemeLight,
themeDark: window.siyuan.config.appearance.themeDark,
themeLight: window.siyuan.config.appearance.themeLight,
darkThemes: window.siyuan.config.appearance.darkThemes,
lightThemes: window.siyuan.config.appearance.lightThemes,
icons: window.siyuan.config.appearance.icons,
lang: window.siyuan.config.appearance.lang,
customCSS: window.siyuan.config.appearance.customCSS,
closeButtonBehavior: window.siyuan.config.appearance.closeButtonBehavior,
nativeEmoji: window.siyuan.config.appearance.nativeEmoji,
}, response => {
}), 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"]');
@ -516,22 +503,12 @@ export const bazaar = {
appearance.onSetappearance(response.data);
});
} else if (bazaarType === "themes") {
fetchPost("/api/setting/setAppearance", {
icon: window.siyuan.config.appearance.icon,
fetchPost("/api/setting/setAppearance", Object.assign({}, window.siyuan.config.appearance, {
mode,
modeOS: false,
codeBlockThemeDark: window.siyuan.config.appearance.codeBlockThemeDark,
codeBlockThemeLight: window.siyuan.config.appearance.codeBlockThemeLight,
themeDark: mode === 1 ? packageName : window.siyuan.config.appearance.themeDark,
themeLight: mode === 0 ? packageName : window.siyuan.config.appearance.themeLight,
darkThemes: window.siyuan.config.appearance.darkThemes,
lightThemes: window.siyuan.config.appearance.lightThemes,
icons: window.siyuan.config.appearance.icons,
lang: window.siyuan.config.appearance.lang,
customCSS: window.siyuan.config.appearance.customCSS,
closeButtonBehavior: window.siyuan.config.appearance.closeButtonBehavior,
nativeEmoji: window.siyuan.config.appearance.nativeEmoji,
}, response => {
}), response => {
if ((mode !== window.siyuan.config.appearance.mode ||
(mode === 1 && window.siyuan.config.appearance.themeDark !== packageName) ||
(mode === 0 && window.siyuan.config.appearance.themeLight !== packageName)) &&

View file

@ -13,8 +13,9 @@ export const initAppearance = (modelElement: HTMLElement, modelMainElement: HTML
${window.siyuan.languages.appearance4}
<div class="fn__hr"></div>
<select class="b3-select fn__block" id="mode">
<option value="0" ${window.siyuan.config.appearance.mode === 0 ? "selected" : ""}>${window.siyuan.languages.themeLight}</option>
<option value="1" ${window.siyuan.config.appearance.mode === 1 ? "selected" : ""}>${window.siyuan.languages.themeDark}</option>
<option value="0" ${(window.siyuan.config.appearance.mode === 0 && !window.siyuan.config.appearance.modeOS) ? "selected" : ""}>${window.siyuan.languages.themeLight}</option>
<option value="1" ${(window.siyuan.config.appearance.mode === 1 && !window.siyuan.config.appearance.modeOS) ? "selected" : ""}>${window.siyuan.languages.themeDark}</option>
<option value="2" ${window.siyuan.config.appearance.modeOS ? "selected" : ""}>${window.siyuan.languages.themeOS}</option>
</select>
<div class="b3-label__text">${window.siyuan.languages.appearance5}</div>
</div>
@ -62,22 +63,15 @@ export const initAppearance = (modelElement: HTMLElement, modelMainElement: HTML
});
modelMainElement.querySelectorAll("select").forEach(item => {
item.addEventListener("change", () => {
fetchPost("/api/setting/setAppearance", {
const modeElementValue = parseInt((modelMainElement.querySelector("#mode") as HTMLSelectElement).value);
fetchPost("/api/setting/setAppearance", Object.assign({}, window.siyuan.config.appearance, {
icon: (modelMainElement.querySelector("#icon") as HTMLSelectElement).value,
mode: parseInt((modelMainElement.querySelector("#mode") as HTMLSelectElement).value),
modeOS: window.siyuan.config.appearance.modeOS,
codeBlockThemeDark: window.siyuan.config.appearance.codeBlockThemeDark,
codeBlockThemeLight: window.siyuan.config.appearance.codeBlockThemeLight,
mode: modeElementValue === 2 ? window.siyuan.config.appearance.mode : modeElementValue,
modeOS: modeElementValue === 2,
themeDark: (modelMainElement.querySelector("#themeDark") as HTMLSelectElement).value,
themeLight: (modelMainElement.querySelector("#themeLight") as HTMLSelectElement).value,
darkThemes: window.siyuan.config.appearance.darkThemes,
lightThemes: window.siyuan.config.appearance.lightThemes,
icons: window.siyuan.config.appearance.icons,
lang: (modelMainElement.querySelector("#lang") as HTMLSelectElement).value,
customCSS: window.siyuan.config.appearance.customCSS,
closeButtonBehavior: window.siyuan.config.appearance.closeButtonBehavior,
nativeEmoji: window.siyuan.config.appearance.nativeEmoji,
}, () => {
}), () => {
window.location.reload();
});
});