add more options for confirming visibility

This commit is contained in:
notfire 2025-02-26 08:58:51 -05:00
parent 0f633b98b0
commit bff81c6b2b
Signed by: notfire
GPG key ID: 3AFDACAAB4E56B16
5 changed files with 53 additions and 15 deletions

View file

@ -790,8 +790,11 @@ const PostStatusForm = {
this.postStatus(finEvent, finNewStatus, finOpts) this.postStatus(finEvent, finNewStatus, finOpts)
}, },
handlePost (event, newStatus, opts = {}) { handlePost (event, newStatus, opts = {}) {
if (this.mergedConfig.modalOnPubPost) { if ((newStatus.visibility === "direct" && this.mergedConfig.modalOnDirectPost)
if (newStatus.visibility === "public" || newStatus.visibility === "unlisted" || newStatus.visibility === "local") { || (newStatus.visibility === "private" && this.mergedConfig.modalOnPrivatePost)
|| (newStatus.visibility === "unlisted" && this.mergedConfig.modalOnUnlistedPost)
|| (newStatus.visibility === "public" && this.mergedConfig.modalOnPublicPost)
|| (newStatus.visibility === "local" && this.mergedConfig.modalOnLocalPost)) {
finEvent = event finEvent = event
finNewStatus = newStatus finNewStatus = newStatus
finOpts = opts finOpts = opts
@ -800,9 +803,6 @@ const PostStatusForm = {
} else { } else {
this.postStatus(event, newStatus, opts = {}) this.postStatus(event, newStatus, opts = {})
} }
} else {
this.postStatus(event, newStatus, opts = {})
}
} }
} }
} }

View file

@ -320,9 +320,34 @@
{{ $t('settings.confirm_dialogs_deny_follow') }} {{ $t('settings.confirm_dialogs_deny_follow') }}
</BooleanSetting> </BooleanSetting>
</li> </li>
</ul>
</li>
<li class="select-multiple">
<span class="label">{{ $t('settings.confirm_visibility_dialogs') }}</span>
<ul class="option-list">
<li> <li>
<BooleanSetting path="modalOnPubPost"> <BooleanSetting path="modalOnDirectPost">
{{ $t('settings.confirm_dialogs_public_post') }} {{ $t('settings.confirm_visibility_dialogs_direct_post') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnPrivatePost">
{{ $t('settings.confirm_visibility_dialogs_private_post') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnUnlistedPost">
{{ $t('settings.confirm_visibility_dialogs_unlisted_post') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnPublicPost">
{{ $t('settings.confirm_visibility_dialogs_public_post') }}
</BooleanSetting>
</li>
<li>
<BooleanSetting path="modalOnLocalPost">
{{ $t('settings.confirm_visibility_dialogs_local_post') }}
</BooleanSetting> </BooleanSetting>
</li> </li>
</ul> </ul>

View file

@ -395,7 +395,7 @@
"media_not_sensitive_warning": "You have a Content Warning, but the attachments are not marked as sensitive!", "media_not_sensitive_warning": "You have a Content Warning, but the attachments are not marked as sensitive!",
"new_status": "New post", "new_status": "New post",
"post": "Post", "post": "Post",
"post_confirm": "Are you sure you want to post this publicly?", "post_confirm": "Are you sure you want to post this?",
"post_confirm_accept_button": "Yes, post", "post_confirm_accept_button": "Yes, post",
"post_confirm_cancel_button": "No, cancel", "post_confirm_cancel_button": "No, cancel",
"post_confirm_title": "Confirm post visibility", "post_confirm_title": "Confirm post visibility",
@ -516,7 +516,12 @@
"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_public_post": "Posting unlisted or publicly", "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_repeat": "Boosting a post",
"confirm_dialogs_unfollow": "Unfollowing someone", "confirm_dialogs_unfollow": "Unfollowing someone",
"confirm_new_password": "Confirm new password", "confirm_new_password": "Confirm new password",

View file

@ -90,7 +90,11 @@ 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
modalOnPubPost: undefined, // instance default modalOnDirectPost: undefined, // instance default
modalOnPrivatePost: undefined, // instance default
modalOnUnlistedPost: undefined, // instance default
modalOnPublicPost: undefined, // instance default
modalOnLocalPost: undefined, // instance default
playVideosInModal: false, playVideosInModal: false,
useOneClickNsfw: false, useOneClickNsfw: false,
useContainFit: true, useContainFit: true,

View file

@ -47,7 +47,11 @@ const defaultState = {
modalOnLogout: true, modalOnLogout: true,
modalOnApproveFollow: false, modalOnApproveFollow: false,
modalOnDenyFollow: false, modalOnDenyFollow: false,
modalOnPubPost: false, modalOnDirectPost: false,
modalOnPrivatePost: false,
modalOnUnlistedPost: false,
modalOnPublicPost: false,
modalOnLocalPost: false,
loginMethod: 'password', loginMethod: 'password',
logo: '/static/logo.svg', logo: '/static/logo.svg',
logoMargin: '.2em', logoMargin: '.2em',