From cd7eb78378bcedf48ed7bf36b49a466af473ffb0 Mon Sep 17 00:00:00 2001 From: Jiaxin Peng Date: Wed, 4 Mar 2026 09:14:38 +0000 Subject: [PATCH] feat: Add isAutoSync option to sync requests and update success notice logic --- src/upload/Upload2Notion.ts | 2 ++ src/upload/common/UploadBase.ts | 12 +++++++++++- src/upload/uploadCommand.ts | 3 +++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/upload/Upload2Notion.ts b/src/upload/Upload2Notion.ts index be208c4..92a6523 100644 --- a/src/upload/Upload2Notion.ts +++ b/src/upload/Upload2Notion.ts @@ -15,6 +15,7 @@ interface BaseSyncRequest { markdown: string; nowFile: TFile; app: App; + isAutoSync?: boolean; } interface GeneralSyncRequest extends BaseSyncRequest { @@ -91,6 +92,7 @@ export class Upload2Notion extends UploadBase { async sync(request: SyncRequest): Promise { const startedAt = Date.now(); + this.isAutoSync = !!request.isAutoSync; let response: NotionPageResponse; diff --git a/src/upload/common/UploadBase.ts b/src/upload/common/UploadBase.ts index 019c685..da55ce4 100644 --- a/src/upload/common/UploadBase.ts +++ b/src/upload/common/UploadBase.ts @@ -18,12 +18,20 @@ interface PreparedBlocks { export abstract class UploadBase { protected plugin: MyPlugin; protected dbDetails: DatabaseDetails; + protected isAutoSync = false; protected constructor(plugin: MyPlugin, dbDetails: DatabaseDetails) { this.plugin = plugin; this.dbDetails = dbDetails; } + private shouldShowSuccessNotices(): boolean { + if (!this.isAutoSync) { + return true; + } + return !!this.plugin.settings.autoSyncSuccessNotice; + } + async deletePage(notionID: string) { const {notionAPI} = this.dbDetails; return requestUrl({ @@ -190,7 +198,9 @@ export abstract class UploadBase { console.log(`${i18nConfig["ExtraBlockUploaded"]} to page: ${pageId}`); if (i === extraChunks.length - 1) { console.log(`${i18nConfig["BlockUploaded"]} to page: ${pageId}`); - new Notice(`${i18nConfig["BlockUploaded"]} page: ${pageId}`, 5000); + if (this.shouldShowSuccessNotices()) { + new Notice(`${i18nConfig["BlockUploaded"]} page: ${pageId}`, 5000); + } } } } diff --git a/src/upload/uploadCommand.ts b/src/upload/uploadCommand.ts index 586a18b..e287b33 100644 --- a/src/upload/uploadCommand.ts +++ b/src/upload/uploadCommand.ts @@ -106,6 +106,7 @@ export async function uploadCommandNext( try { res = await upload.sync({ dataset: "next", + isAutoSync: options?.isAutoSync, title: basename, emoji: emoji || "", cover: cover || "", @@ -197,6 +198,7 @@ export async function uploadCommandGeneral( try { res = await upload.sync({ dataset: "general", + isAutoSync: options?.isAutoSync, title: basename, cover: cover || "", tags: tags || [], @@ -279,6 +281,7 @@ export async function uploadCommandCustom( try { res = await upload.sync({ dataset: "custom", + isAutoSync: options?.isAutoSync, cover: cover || "", customValues, markdown: markDownData,