From a1ee66ab5ebf6c0187c6b7074d76b52ea8f627ae Mon Sep 17 00:00:00 2001
From: Daniel <845765@qq.com>
Date: Tue, 8 Oct 2024 17:53:40 +0800
Subject: [PATCH] :art: Show import/export settings in "About" on mobile
https://github.com/siyuan-note/siyuan/issues/12699
---
app/src/mobile/settings/about.ts | 40 ++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/app/src/mobile/settings/about.ts b/app/src/mobile/settings/about.ts
index 21b5e780c..2fa76ef92 100644
--- a/app/src/mobile/settings/about.ts
+++ b/app/src/mobile/settings/about.ts
@@ -111,6 +111,25 @@ export const initAbout = () => {
${window.siyuan.languages.importDataTip}
+
+ ${window.siyuan.languages.exportConf}
+
+
+
${window.siyuan.languages.exportConfTip}
+
+
+
+ ${window.siyuan.languages.importConf}
+
+
+
+
${window.siyuan.languages.importConfTip}
+
${window.siyuan.languages.workspaceList}
@@ -247,6 +266,13 @@ export const initAbout = () => {
event.preventDefault();
event.stopPropagation();
break;
+ } else if (target.id === "exportConf") {
+ fetchPost("/api/system/exportConf", {}, response => {
+ openByMobile(response.data.zip);
+ });
+ event.preventDefault();
+ event.stopPropagation();
+ break;
} else if (target.id === "exportLog") {
fetchPost("/api/system/exportLog", {}, (response) => {
openByMobile(response.data.zip);
@@ -357,6 +383,20 @@ export const initAbout = () => {
formData.append("file", event.target.files[0]);
fetchPost("/api/import/importData", formData);
});
+ modelMainElement.querySelector("#importConf").addEventListener("change", (event: InputEvent & {
+ target: HTMLInputElement
+ }) => {
+ const formData = new FormData();
+ formData.append("file", event.target.files[0]);
+ fetchPost("/api/system/importConf", formData, (response) => {
+ if (response.code !== 0) {
+ showMessage(response.msg);
+ return;
+ }
+
+ exitSiYuan();
+ });
+ });
const networkServeElement = modelMainElement.querySelector("#networkServe") as HTMLInputElement;
networkServeElement.addEventListener("change", () => {
fetchPost("/api/system/setNetworkServe", {networkServe: networkServeElement.checked}, () => {