From ec36425b1942450bfbb27cd18f8b30f0088cb3a4 Mon Sep 17 00:00:00 2001 From: notfire Date: Wed, 26 Feb 2025 09:52:14 -0500 Subject: [PATCH] add option to confirm attachments marked sensitive without CW --- src/components/post_status_form/post_status_form.js | 13 ++++++++----- src/components/settings_modal/tabs/general_tab.vue | 5 +++++ src/i18n/en.json | 5 +++-- src/modules/config.js | 1 + src/modules/instance.js | 1 + 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/components/post_status_form/post_status_form.js b/src/components/post_status_form/post_status_form.js index 853775ed..e382d8f6 100644 --- a/src/components/post_status_form/post_status_form.js +++ b/src/components/post_status_form/post_status_form.js @@ -790,11 +790,14 @@ const PostStatusForm = { this.postStatus(finEvent, finNewStatus, finOpts) }, handlePost (event, newStatus, opts = {}) { - if ((newStatus.visibility === "direct" && this.mergedConfig.modalOnDirectPost) - || (newStatus.visibility === "private" && this.mergedConfig.modalOnPrivatePost) - || (newStatus.visibility === "unlisted" && this.mergedConfig.modalOnUnlistedPost) - || (newStatus.visibility === "public" && this.mergedConfig.modalOnPublicPost) - || (newStatus.visibility === "local" && this.mergedConfig.modalOnLocalPost)) { + if ( + (newStatus.visibility === "direct" && this.mergedConfig.modalOnDirectPost) || + (newStatus.visibility === "private" && this.mergedConfig.modalOnPrivatePost) || + (newStatus.visibility === "unlisted" && this.mergedConfig.modalOnUnlistedPost) || + (newStatus.visibility === "public" && this.mergedConfig.modalOnPublicPost) || + (newStatus.visibility === "local" && this.mergedConfig.modalOnLocalPost) || + (newStatus.nsfw && newStatus.spoilerText === "" && this.mergedConfig.modalOnSensitiveAttachmentWithoutCW) + ) { finEvent = event finNewStatus = newStatus finOpts = opts diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue index 46392eb5..a5f3355c 100644 --- a/src/components/settings_modal/tabs/general_tab.vue +++ b/src/components/settings_modal/tabs/general_tab.vue @@ -320,6 +320,11 @@ {{ $t('settings.confirm_dialogs_deny_follow') }} +
  • + + {{ $t('settings.confirm_dialogs_sensitive_attachment_without_cw') }} + +
  • diff --git a/src/i18n/en.json b/src/i18n/en.json index c85d450e..712154cf 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -516,14 +516,15 @@ "confirm_dialogs_delete": "Deleting a post", "confirm_dialogs_deny_follow": "Rejecting a follow request", "confirm_dialogs_mute": "Muting someone", + "confirm_dialogs_repeat": "Boosting a post", + "confirm_dialogs_unfollow": "Unfollowing someone", + "confirm_dialogs_sensitive_attachment_without_cw": "Posting with an attachment marked \"sensitive\" without a CW", "confirm_visibility_dialogs": "Visibility confirmations:", "confirm_visibility_dialogs_direct_post": "Posting with \"direct\" visibility", "confirm_visibility_dialogs_private_post": "Posting with \"private\" visibility", "confirm_visibility_dialogs_unlisted_post": "Posting with \"unlisted\" visibility", "confirm_visibility_dialogs_public_post": "Posting with \"public\" visibility", "confirm_visibility_dialogs_local_post": "Posting with \"local\" visibility", - "confirm_dialogs_repeat": "Boosting a post", - "confirm_dialogs_unfollow": "Unfollowing someone", "confirm_new_password": "Confirm new password", "confirmation_dialogs": "Confirmation options", "conversation_display": "Conversation display style", diff --git a/src/modules/config.js b/src/modules/config.js index 4dee4468..8bc8910b 100644 --- a/src/modules/config.js +++ b/src/modules/config.js @@ -90,6 +90,7 @@ export const defaultState = { modalOnLogout: undefined, // instance default modalOnApproveFollow: undefined, // instance default modalOnDenyFollow: undefined, // instance default + modalOnSensitiveAttachmentWithoutCW: undefined, // instance default modalOnDirectPost: undefined, // instance default modalOnPrivatePost: undefined, // instance default modalOnUnlistedPost: undefined, // instance default diff --git a/src/modules/instance.js b/src/modules/instance.js index e75882b2..9eeb28c9 100644 --- a/src/modules/instance.js +++ b/src/modules/instance.js @@ -47,6 +47,7 @@ const defaultState = { modalOnLogout: true, modalOnApproveFollow: false, modalOnDenyFollow: false, + modalOnSensitiveAttachmentWithoutCW: false, modalOnDirectPost: false, modalOnPrivatePost: false, modalOnUnlistedPost: false,