diff --git a/app/src/config/repos.ts b/app/src/config/repos.ts
index be4a84c20..8609c02ab 100644
--- a/app/src/config/repos.ts
+++ b/app/src/config/repos.ts
@@ -108,6 +108,14 @@ export const repos = {
+
${syncModeHTML}
@@ -146,6 +154,12 @@ ${syncModeHTML}
}
});
});
+ const switchConflictElement = repos.element.querySelector("#generateConflictDoc") as HTMLInputElement;
+ switchConflictElement.addEventListener("change", () => {
+ fetchPost("/api/sync/setSyncGenerateConflictDoc", {enabled: switchConflictElement.checked}, (response) => {
+ window.siyuan.config.sync.generateConflictDoc = switchConflictElement.checked;
+ });
+ });
const syncModeElement = repos.element.querySelector("#syncMode") as HTMLSelectElement;
syncModeElement.addEventListener("change", () => {
fetchPost("/api/sync/setSyncMode", {mode: parseInt(syncModeElement.value, 10)}, (response) => {
diff --git a/app/src/config/search.ts b/app/src/config/search.ts
index 2c516e217..be2d2e7ad 100644
--- a/app/src/config/search.ts
+++ b/app/src/config/search.ts
@@ -58,6 +58,7 @@ export const initConfigSearch = (element: HTMLElement) => {
// 云端
getLang(["cloudStorage", "trafficStat", "sync", "backup", "cdn", "total", "sizeLimit", "cloudBackup",
"cloudBackupTip", "updatePath", "cloudSync", "upload", "download", "syncMode", "syncModeTip",
+ "generateConflictDoc", "generateConflictDocTip",
"syncMode1", "syncMode2", "reposTip", "openSyncTip1", "openSyncTip2", "cloudSyncDir", "config"]),
// 账号
diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts
index 1fc0c28a5..e1405403b 100644
--- a/app/src/types/index.d.ts
+++ b/app/src/types/index.d.ts
@@ -303,6 +303,7 @@ declare interface IConfig {
key: string
},
sync: {
+ generateConflictDoc: boolean
enabled: boolean
mode: number
synced: number