diff --git a/app/src/config/repos.ts b/app/src/config/repos.ts
index 2a5bc7a5a..32a3a5a30 100644
--- a/app/src/config/repos.ts
+++ b/app/src/config/repos.ts
@@ -4,41 +4,9 @@ import {isMobile} from "../util/functions";
import {showMessage} from "../dialog/message";
import {bindSyncCloudListEvent, getSyncCloudList} from "../sync/syncGuide";
-const renderCloudBackup = () => {
- fetchPost("/api/cloud/getCloudSpace", {}, (response) => {
- repos.element.querySelector("#reposLoading").classList.add("fn__none");
- if (response.code === 1) {
- repos.element.querySelector("#reposData").innerHTML = response.msg;
- return;
- } else {
- repos.element.querySelector("#reposData").innerHTML = `
-
- ${window.siyuan.languages.cloudStorage}
-
-
- - ${window.siyuan.languages.sync}${response.data.sync ? response.data.sync.hSize : "0B"}
- - ${window.siyuan.languages.backup}${response.data.backup ? response.data.backup.hSize : "0B"}
- - ${window.siyuan.languages.cdn}${response.data.hAssetSize}
- - ${window.siyuan.languages.total}${response.data.hSize}
- - ${window.siyuan.languages.sizeLimit}${response.data.hTotalSize}
-
-
-
- ${window.siyuan.languages.trafficStat}
-
-
- - ${window.siyuan.languages.upload}${response.data.hTrafficUploadSize}
- - ${window.siyuan.languages.download}${response.data.hTrafficDownloadSize}
-
-
-
`;
- }
- });
-};
-
const renderProvider = (provider: number) => {
if (provider === 0) {
- if (needSubscribe()) {
+ if (needSubscribe("")) {
return `${window.siyuan.config.system.container === "ios" ? window.siyuan.languages._kernel[122] : window.siyuan.languages._kernel[29]}
${window.siyuan.languages.cloudIntro1}
@@ -124,11 +92,57 @@ const renderProvider = (provider: number) => {
};
const bindProviderEvent = () => {
+ const reposDataElement = repos.element.querySelector("#reposData")
+ const loadingElement = repos.element.querySelector("#reposLoading")
if (window.siyuan.config.sync.provider === 0) {
- repos.element.querySelector("#reposData").classList.remove("fn__none")
+ if (needSubscribe("")) {
+ loadingElement.classList.add("fn__none");
+ let nextElement = reposDataElement
+ while (nextElement) {
+ nextElement.classList.add("fn__none")
+ nextElement = nextElement.nextElementSibling;
+ }
+ return;
+ }
+ fetchPost("/api/cloud/getCloudSpace", {}, (response) => {
+ loadingElement.classList.add("fn__none");
+ if (response.code === 1) {
+ reposDataElement.innerHTML = response.msg;
+ return;
+ } else {
+ reposDataElement.innerHTML = `
+
+ ${window.siyuan.languages.cloudStorage}
+
+
+ - ${window.siyuan.languages.sync}${response.data.sync ? response.data.sync.hSize : "0B"}
+ - ${window.siyuan.languages.backup}${response.data.backup ? response.data.backup.hSize : "0B"}
+ - ${window.siyuan.languages.cdn}${response.data.hAssetSize}
+ - ${window.siyuan.languages.total}${response.data.hSize}
+ - ${window.siyuan.languages.sizeLimit}${response.data.hTotalSize}
+
+
+
+ ${window.siyuan.languages.trafficStat}
+
+
+ - ${window.siyuan.languages.upload}${response.data.hTrafficUploadSize}
+ - ${window.siyuan.languages.download}${response.data.hTrafficDownloadSize}
+
+
+
`;
+ }
+ });
+ reposDataElement.classList.remove("fn__none")
return;
}
- repos.element.querySelector("#reposData").classList.add("fn__none")
+ loadingElement.classList.add("fn__none");
+ let nextElement = reposDataElement.nextElementSibling
+ while (nextElement) {
+ nextElement.classList.remove("fn__none")
+ nextElement = nextElement.nextElementSibling;
+ }
+ reposDataElement.classList.add("fn__none")
const providerPanelElement = repos.element.querySelector("#syncProviderPanel");
providerPanelElement.querySelectorAll(".b3-text-field").forEach(item => {
item.addEventListener("blur", () => {
@@ -259,7 +273,6 @@ ${syncModeHTML}
},
bindEvent: () => {
bindProviderEvent();
- renderCloudBackup();
const switchElement = repos.element.querySelector("#reposCloudSyncSwitch") as HTMLInputElement;
switchElement.addEventListener("change", () => {
if (switchElement.checked && window.siyuan.config.sync.cloudName === "") {
@@ -306,9 +319,6 @@ ${syncModeHTML}
}
repos.element.querySelector("#syncProviderPanel").innerHTML = renderProvider(window.siyuan.config.sync.provider);
bindProviderEvent();
- if (window.siyuan.config.sync.provider === 0) {
- renderCloudBackup();
- }
syncConfigElement.innerHTML = ""
});
});