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();
});
});
});
};