import {fetchPost} from "../../util/fetch"; import {setInlineStyle} from "../../util/assets"; import {genOptions} from "../../util/genOptions"; import {reloadProtyle} from "../../protyle/util/reload"; import {openModel} from "../menu/model"; export const initAppearance = () => { openModel({ title: window.siyuan.languages.appearance, icon:"iconTheme", html: `
${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}
`, bindEvent(modelMainElement: HTMLElement) { modelMainElement.querySelector(".b3-slider").addEventListener("input", (event: InputEvent & { target: HTMLInputElement }) => { modelMainElement.querySelector("#fontSize").textContent = event.target.value + "px"; window.siyuan.config.editor.fontSize = parseInt(event.target.value); fetchPost("/api/setting/setEditor", window.siyuan.config.editor, (response) => { window.siyuan.config.editor = response.data; reloadProtyle(window.siyuan.mobile.editor.protyle); setInlineStyle(); }); }); modelMainElement.querySelectorAll("select").forEach(item => { item.addEventListener("change", () => { 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: 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, lang: (modelMainElement.querySelector("#lang") as HTMLSelectElement).value, }), () => { window.location.reload(); }); }); }); } }); };