From 2608ba6a16929ec165bfe44c7f563b7f3902c975 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 11 Nov 2022 20:37:20 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/6446 --- app/src/config/repos.ts | 88 +++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 39 deletions(-) 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 = "" }); });