import {closePanel} from "../util/closePanel"; import {fetchPost} from "../../util/fetch"; import {setInlineStyle} from "../../util/assets"; import {genOptions} from "../../util/genOptions"; export const initAppearance = (modelElement: HTMLElement, modelMainElement: HTMLElement) => { closePanel(); modelElement.style.top = "0"; modelElement.querySelector(".toolbar__icon").innerHTML = ''; modelElement.querySelector(".toolbar__text").textContent = window.siyuan.languages.appearance; modelMainElement.innerHTML = `
${window.siyuan.languages.appearance4}
${window.siyuan.languages.appearance5}
${window.siyuan.languages.theme}
${window.siyuan.languages.theme11}
${window.siyuan.languages.theme12}
${window.siyuan.languages.icon}
${window.siyuan.languages.theme2}
${window.siyuan.languages.language}
${window.siyuan.languages.language1}
${window.siyuan.languages.fontSize} ${window.siyuan.config.editor.fontSize}px
${window.siyuan.languages.fontSizeTip}
`; modelMainElement.querySelector(".b3-slider").addEventListener("input", (event: InputEvent & { target: HTMLInputElement }) => { modelMainElement.querySelector("#fontSize").textContent = event.target.value + "px"; fetchPost("/api/setting/setEditor", { displayBookmarkIcon: window.siyuan.config.editor.displayBookmarkIcon, displayNetImgMark: window.siyuan.config.editor.displayNetImgMark, codeLineWrap: window.siyuan.config.editor.codeLineWrap, codeSyntaxHighlightLineNum: window.siyuan.config.editor.codeSyntaxHighlightLineNum, virtualBlockRef: window.siyuan.config.editor.virtualBlockRef, virtualBlockRefExclude: window.siyuan.config.editor.virtualBlockRefExclude, blockRefDynamicAnchorTextMaxLen: window.siyuan.config.editor.blockRefDynamicAnchorTextMaxLen, fontSize: parseInt((modelMainElement.querySelector(".b3-slider") as HTMLInputElement).value), codeLigatures: window.siyuan.config.editor.codeLigatures, codeTabSpaces: window.siyuan.config.editor.codeTabSpaces, generateHistoryInterval: window.siyuan.config.editor.generateHistoryInterval, historyRetentionDays: window.siyuan.config.editor.historyRetentionDays, fontFamily: window.siyuan.config.editor.fontFamily, emoji: window.siyuan.config.editor.emoji }, (response) => { window.siyuan.config.editor = response.data; window.siyuan.mobileEditor.reload(); setInlineStyle(); }); }); modelMainElement.querySelectorAll("select").forEach(item => { item.addEventListener("change", () => { fetchPost("/api/setting/setAppearance", { icon: (modelMainElement.querySelector("#icon") as HTMLSelectElement).value, mode: parseInt((modelMainElement.querySelector("#mode") as HTMLSelectElement).value), codeBlockThemeDark: window.siyuan.config.appearance.codeBlockThemeDark, codeBlockThemeLight: window.siyuan.config.appearance.codeBlockThemeLight, 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(); }); }); }); };