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, 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 = () => {
if (!window.siyuan.config.localIPs || window.siyuan.config.localIPs.length === 0 ||
(window.siyuan.config.localIPs.length === 1 && window.siyuan.config.localIPs[0] === "")) {
window.siyuan.config.localIPs = ["127.0.0.1"];
}
openModel({
title: window.siyuan.languages.about,
icon: "iconInfo",
html: `
${window.siyuan.languages.about2}
${window.siyuan.languages.about3.replace("${port}", location.port)}
${window.siyuan.config.localIPs.filter(ip => !(ip.startsWith("[") && ip.endsWith("]"))).join(" ")}
${window.siyuan.config.localIPs.filter(ip => (ip.startsWith("[") && ip.endsWith("]"))).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.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.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}
`,
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.isSameNode(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: `