import {Constants} from "../../constants";
import {setAccessAuthCode} from "../../config/util/about";
import {Dialog} from "../../dialog";
import {fetchPost} from "../../util/fetch";
import {confirmDialog} from "../../dialog/confirmDialog";
import {showMessage} from "../../dialog/message";
import {isInAndroid, isInHarmony, isInIOS, isIPad, openByMobile, writeText} from "../../protyle/util/compatibility";
import {exitSiYuan, processSync} from "../../dialog/processSystem";
import {pathPosix} from "../../util/pathName";
import {openModel} from "../menu/model";
import {setKey} from "../../sync/syncGuide";
import {isBrowser} from "../../util/functions";
export const initAbout = () => {
openModel({
title: window.siyuan.languages.about,
icon: "iconInfo",
html: `
${window.siyuan.languages.exportCACert}
${window.siyuan.languages.exportCACertTip}
${window.siyuan.languages.exportCABundle}
${window.siyuan.languages.exportCABundleTip}
${window.siyuan.languages.importCABundle}
${window.siyuan.languages.importCABundleTip}
${window.siyuan.languages.about2}
${window.siyuan.languages.about4}
${window.siyuan.languages.about3.replace("${port}", location.port)}
${(() => {
const serverAddrs: string[] = [];
for (const serverAddr of window.siyuan.config.serverAddrs) {
if (!serverAddr.trim()) {
break;
}
serverAddrs.push(`
${serverAddr}`);
}
return `
${serverAddrs.join(" ")}
`;
})()}
${window.siyuan.languages.about18}
${window.siyuan.languages.about5}
${window.siyuan.languages.about6}
${window.siyuan.languages.dataRepoKey}
${window.siyuan.languages.dataRepoKeyTip1}
${window.siyuan.languages.dataRepoKeyTip2}
${window.siyuan.languages.dataRepoPurge}
${window.siyuan.languages.dataRepoPurgeTip}
${window.siyuan.languages.dataRepoAutoPurgeIndexRetentionDays}
${window.siyuan.languages.dataRepoAutoPurgeRetentionIndexesDaily}
${window.siyuan.languages.vacuumDataIndex}
${window.siyuan.languages.vacuumDataIndexTip}
${window.siyuan.languages.rebuildDataIndex}
${window.siyuan.languages.rebuildDataIndexTip}
${window.siyuan.languages.clearTempFiles}
${window.siyuan.languages.clearTempFilesTip}
${window.siyuan.languages.systemLog}
${window.siyuan.languages.systemLogTip}
${window.siyuan.languages.export} Data
${window.siyuan.languages.exportDataTip}
${window.siyuan.languages.import} Data
${window.siyuan.languages.importDataTip}
${window.siyuan.languages.exportConf}
${window.siyuan.languages.exportConfTip}
${window.siyuan.languages.importConf}
${window.siyuan.languages.importConfTip}
${window.siyuan.languages.workspaceList}
${window.siyuan.languages.about13}
${window.siyuan.languages.about14.replace("${token}", window.siyuan.config.api.token)}
${window.siyuan.languages.siyuanNote}
v${Constants.SIYUAN_VERSION}
${window.siyuan.languages.slogan}
会泽百家 至公天下
${window.siyuan.languages.about1} ${"harmony" === window.siyuan.config.system.container ? " • " + window.siyuan.languages.feedback + " 845765@qq.com" : ""}
`,
bindEvent(modelMainElement: HTMLElement) {
const workspaceDirElement = modelMainElement.querySelector("#workspaceDir");
genWorkspace(workspaceDirElement);
const importKeyElement = modelMainElement.querySelector("#importKey");
modelMainElement.firstElementChild.addEventListener("click", (event) => {
let target = event.target as HTMLElement;
while (target && (target !== modelMainElement)) {
if (target.id === "authCode") {
setAccessAuthCode();
event.preventDefault();
event.stopPropagation();
break;
} else if (target.id === "importKey") {
const passwordDialog = new Dialog({
title: "🔑 " + window.siyuan.languages.key,
content: `