diff --git a/app/src/assets/scss/component/_form.scss b/app/src/assets/scss/component/_form.scss index 682aacc7b..7a9f7d4c9 100644 --- a/app/src/assets/scss/component/_form.scss +++ b/app/src/assets/scss/component/_form.scss @@ -120,6 +120,14 @@ overflow: hidden !important; } + &__icon { + width: 36px; + height: 36px; + align-self: center; + margin-right: 16px; + color: var(--b3-theme-on-surface); + } + &--inner { border-bottom: 0; padding: 0 !important; diff --git a/app/src/config/bazaar.ts b/app/src/config/bazaar.ts index 1449cec8e..3ced49f4d 100644 --- a/app/src/config/bazaar.ts +++ b/app/src/config/bazaar.ts @@ -21,6 +21,47 @@ import {loadPlugin} from "../plugin/loader"; export const bazaar = { element: undefined as Element, genHTML() { + if (!window.siyuan.config.bazaar.trust) { + return `

+ ${window.siyuan.languages.bazaarTrust} +

+
+ +
+ ${window.siyuan.languages.bazaarTrustCodeReview} +
${window.siyuan.languages.bazaarTrustCodeReviewTip}
+
+
+
+ +
+ ${window.siyuan.languages.bazaarTrustOpenSource} +
${window.siyuan.languages.bazaarTrustOpenSourceTip}
+
+
+
+ +
+ ${window.siyuan.languages.bazaarCommunityReview} +
${window.siyuan.languages.bazaarPeerReviewTip}
+
+
+
+ +
+ ${window.siyuan.languages.bazaarUserReport} +
${window.siyuan.languages.bazaarUserReportTip}
+
+
+
+
${window.siyuan.languages.bazaarTrust1}
+
+ ${window.siyuan.languages.bazaarTrust2} +
+
+ +
`; + } const localSort = window.siyuan.storage[Constants.LOCAL_BAZAAR]; const loadingHTML = `
`; return `
@@ -429,6 +470,16 @@ export const bazaar = { readmeElement.classList.add("config-bazaar__readme--show"); }, bindEvent(app: App) { + if (!window.siyuan.config.bazaar.trust) { + bazaar.element.querySelector("button").addEventListener("click", () => { + fetchPost("/api/setting/setBazaar", {trust: true}, () => { + window.siyuan.config.bazaar.trust = true; + bazaar.element.innerHTML = bazaar.genHTML(); + bazaar.bindEvent(app); + }); + }); + return; + } this._genMyHTML("themes", app); bazaar.element.firstElementChild.addEventListener("click", (event) => { let target = event.target as HTMLElement; diff --git a/app/src/types/index.d.ts b/app/src/types/index.d.ts index 922e35c4f..d417a4f9c 100644 --- a/app/src/types/index.d.ts +++ b/app/src/types/index.d.ts @@ -458,6 +458,9 @@ declare interface IAccount { } declare interface IConfig { + bazaar: { + trust: boolean + } repo: { key: string },