add option to confirm attachments marked sensitive without CW

This commit is contained in:
notfire 2025-02-26 09:52:14 -05:00
parent bff81c6b2b
commit ec36425b19
Signed by: notfire
GPG key ID: 3AFDACAAB4E56B16
5 changed files with 18 additions and 7 deletions

View file

@ -790,11 +790,14 @@ const PostStatusForm = {
this.postStatus(finEvent, finNewStatus, finOpts) this.postStatus(finEvent, finNewStatus, finOpts)
}, },
handlePost (event, newStatus, opts = {}) { handlePost (event, newStatus, opts = {}) {
if ((newStatus.visibility === "direct" && this.mergedConfig.modalOnDirectPost) if (
|| (newStatus.visibility === "private" && this.mergedConfig.modalOnPrivatePost) (newStatus.visibility === "direct" && this.mergedConfig.modalOnDirectPost) ||
|| (newStatus.visibility === "unlisted" && this.mergedConfig.modalOnUnlistedPost) (newStatus.visibility === "private" && this.mergedConfig.modalOnPrivatePost) ||
|| (newStatus.visibility === "public" && this.mergedConfig.modalOnPublicPost) (newStatus.visibility === "unlisted" && this.mergedConfig.modalOnUnlistedPost) ||
|| (newStatus.visibility === "local" && this.mergedConfig.modalOnLocalPost)) { (newStatus.visibility === "public" && this.mergedConfig.modalOnPublicPost) ||
(newStatus.visibility === "local" && this.mergedConfig.modalOnLocalPost) ||
(newStatus.nsfw && newStatus.spoilerText === "" && this.mergedConfig.modalOnSensitiveAttachmentWithoutCW)
) {
finEvent = event finEvent = event
finNewStatus = newStatus finNewStatus = newStatus
finOpts = opts finOpts = opts

View file

@ -320,6 +320,11 @@
{{ $t('settings.confirm_dialogs_deny_follow') }} {{ $t('settings.confirm_dialogs_deny_follow') }}
</BooleanSetting> </BooleanSetting>
</li> </li>
<li>
<BooleanSetting path="modalOnSensitiveAttachmentWithoutCW">
{{ $t('settings.confirm_dialogs_sensitive_attachment_without_cw') }}
</BooleanSetting>
</li>
</ul> </ul>
</li> </li>
<li class="select-multiple"> <li class="select-multiple">

View file

@ -516,14 +516,15 @@
"confirm_dialogs_delete": "Deleting a post", "confirm_dialogs_delete": "Deleting a post",
"confirm_dialogs_deny_follow": "Rejecting a follow request", "confirm_dialogs_deny_follow": "Rejecting a follow request",
"confirm_dialogs_mute": "Muting someone", "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": "Visibility confirmations:",
"confirm_visibility_dialogs_direct_post": "Posting with \"direct\" visibility", "confirm_visibility_dialogs_direct_post": "Posting with \"direct\" visibility",
"confirm_visibility_dialogs_private_post": "Posting with \"private\" visibility", "confirm_visibility_dialogs_private_post": "Posting with \"private\" visibility",
"confirm_visibility_dialogs_unlisted_post": "Posting with \"unlisted\" visibility", "confirm_visibility_dialogs_unlisted_post": "Posting with \"unlisted\" visibility",
"confirm_visibility_dialogs_public_post": "Posting with \"public\" visibility", "confirm_visibility_dialogs_public_post": "Posting with \"public\" visibility",
"confirm_visibility_dialogs_local_post": "Posting with \"local\" 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", "confirm_new_password": "Confirm new password",
"confirmation_dialogs": "Confirmation options", "confirmation_dialogs": "Confirmation options",
"conversation_display": "Conversation display style", "conversation_display": "Conversation display style",

View file

@ -90,6 +90,7 @@ export const defaultState = {
modalOnLogout: undefined, // instance default modalOnLogout: undefined, // instance default
modalOnApproveFollow: undefined, // instance default modalOnApproveFollow: undefined, // instance default
modalOnDenyFollow: undefined, // instance default modalOnDenyFollow: undefined, // instance default
modalOnSensitiveAttachmentWithoutCW: undefined, // instance default
modalOnDirectPost: undefined, // instance default modalOnDirectPost: undefined, // instance default
modalOnPrivatePost: undefined, // instance default modalOnPrivatePost: undefined, // instance default
modalOnUnlistedPost: undefined, // instance default modalOnUnlistedPost: undefined, // instance default

View file

@ -47,6 +47,7 @@ const defaultState = {
modalOnLogout: true, modalOnLogout: true,
modalOnApproveFollow: false, modalOnApproveFollow: false,
modalOnDenyFollow: false, modalOnDenyFollow: false,
modalOnSensitiveAttachmentWithoutCW: false,
modalOnDirectPost: false, modalOnDirectPost: false,
modalOnPrivatePost: false, modalOnPrivatePost: false,
modalOnUnlistedPost: false, modalOnUnlistedPost: false,