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
},