From 9e07ee15946433fa131d90ca247809368a46cb80 Mon Sep 17 00:00:00 2001 From: shibao Date: Sun, 3 Nov 2024 10:15:10 -0500 Subject: [PATCH] add alwaysUploadAsContent option --- src/options/App.vue | 11 +++++++++++ src/popup/pages/PopupMain.vue | 15 +++++++++++---- src/stores/index.ts | 1 + 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/options/App.vue b/src/options/App.vue index d093bde..3db145e 100644 --- a/src/options/App.vue +++ b/src/options/App.vue @@ -139,6 +139,17 @@ wnd.szc_set_config_version = (v = 0) => (cfg.value.version = v);

+
+ +

+ This will always upload the image content directly, instead of + as an URL +

+
+ {{ versionInfo }} diff --git a/src/popup/pages/PopupMain.vue b/src/popup/pages/PopupMain.vue index a5d5d75..ccc925b 100644 --- a/src/popup/pages/PopupMain.vue +++ b/src/popup/pages/PopupMain.vue @@ -162,8 +162,12 @@ async function upload() { try { const post: ScrapedPostDetails = cloneDeep(pop.selectedPost)!; - // uploadMode "content" requires a content token to work. So ensure it is set. - if (post.uploadMode == "content") { + // uploadMode "content" requires a content token to work. So ensure it is + // set. Ignore fallback "Upload as URL" mode as well + if ( + (cfg.value.alwaysUploadAsContent || post.uploadMode === "content") + && post.name !== "[fallback] Upload as URL" + ) { await ensurePostHasContentToken(post); } @@ -257,7 +261,10 @@ async function ensurePostHasContentToken(post: ScrapedPostDetails) { } try { - let tmpRes = await selectedInstance.uploadTempFile(post.contentUrl, post.uploadMode); + const uploadMode = + cfg.value.alwaysUploadAsContent && post.name !== "[fallback] Upload as URL" ? + 'content' : post.uploadMode; + let tmpRes = await selectedInstance.uploadTempFile(post.contentUrl, uploadMode); // Save contentToken in PostViewModel so that we can reuse it when creating/uploading the post. instanceSpecificData.contentToken = tmpRes.token; } catch (ex) { @@ -403,7 +410,7 @@ useDark();