Files
remotely-save/src/syncAlgoV2Notice.ts
T
fyears dffada894f Squashed commit add i18n:
commit 238db51e1fcd22e0b65d3176356ac328481f33ef
Author: fyears <1142836+fyears@users.noreply.github.com>
Date:   Sun Mar 20 15:54:10 2022 +0800

    add langs sub module

commit 30e8cad844821e62a1d6d1e36161c594ddf38111
Author: fyears <1142836+fyears@users.noreply.github.com>
Date:   Sun Mar 20 15:30:45 2022 +0800

    i18n
2022-03-20 15:54:57 +08:00

64 lines
1.6 KiB
TypeScript

import { App, Modal, Notice, PluginSettingTab, Setting } from "obsidian";
import type RemotelySavePlugin from "./main"; // unavoidable
import type { TransItemType } from "./i18n";
import * as origLog from "loglevel";
const log = origLog.getLogger("rs-default");
export class SyncAlgoV2Modal extends Modal {
agree: boolean;
readonly plugin: RemotelySavePlugin;
constructor(app: App, plugin: RemotelySavePlugin) {
super(app);
this.plugin = plugin;
this.agree = false;
}
onOpen() {
let { contentEl } = this;
const t = (x: TransItemType, vars?: any) => {
return this.plugin.i18n.t(x, vars);
};
contentEl.createEl("h2", {
text: t("syncalgov2_title"),
});
const ul = contentEl.createEl("ul");
t("syncalgov2_texts")
.split("\n")
.forEach((val) => {
ul.createEl("li", {
text: val,
});
});
new Setting(contentEl)
.addButton((button) => {
button.setButtonText(t("syncalgov2_button_agree"));
button.onClick(async () => {
this.agree = true;
this.close();
});
})
.addButton((button) => {
button.setButtonText(t("syncalgov2_button_disagree"));
button.onClick(() => {
this.close();
});
});
}
onClose() {
let { contentEl } = this;
contentEl.empty();
if (this.agree) {
log.info("agree to use the new algorithm");
this.plugin.saveAgreeToUseNewSyncAlgorithm();
this.plugin.enableAutoSyncIfSet();
this.plugin.enableInitSyncIfSet();
} else {
log.info("do not agree to use the new algorithm");
this.plugin.unload();
}
}
}