From 993b492e96150a4777a65961a565c68b4b8943c5 Mon Sep 17 00:00:00 2001 From: Claire Date: Fri, 23 Feb 2024 00:26:54 +0100 Subject: [PATCH] [WiP] Prepare for secondary post button --- app/javascript/flavours/glitch/actions/compose.js | 4 ++-- .../glitch/features/compose/components/compose_form.jsx | 4 ++-- .../features/compose/containers/compose_form_container.js | 4 ++-- app/javascript/flavours/glitch/styles/components.scss | 3 ++- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/javascript/flavours/glitch/actions/compose.js b/app/javascript/flavours/glitch/actions/compose.js index d2c049f3418de2..350ee6fbbe4ab0 100644 --- a/app/javascript/flavours/glitch/actions/compose.js +++ b/app/javascript/flavours/glitch/actions/compose.js @@ -179,7 +179,7 @@ export function directCompose(account, routerHistory) { }; } -export function submitCompose(routerHistory) { +export function submitCompose(routerHistory, overridePrivacy = null) { return function (dispatch, getState) { let status = getState().getIn(['compose', 'text'], ''); const media = getState().getIn(['compose', 'media_attachments']); @@ -228,7 +228,7 @@ export function submitCompose(routerHistory) { media_attributes, sensitive: getState().getIn(['compose', 'sensitive']) || (spoilerText.length > 0 && media.size !== 0), spoiler_text: spoilerText, - visibility: getState().getIn(['compose', 'privacy']), + visibility: overridePrivacy || getState().getIn(['compose', 'privacy']), poll: getState().getIn(['compose', 'poll'], null), language: getState().getIn(['compose', 'language']), }, diff --git a/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx b/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx index 737bbfc126230f..7f6cbbc83411ad 100644 --- a/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx +++ b/app/javascript/flavours/glitch/features/compose/components/compose_form.jsx @@ -109,7 +109,7 @@ class ComposeForm extends ImmutablePureComponent { return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > maxChars || (isOnlyWhitespace && !anyMedia)); }; - handleSubmit = (e) => { + handleSubmit = (e, overridePrivacy = null) => { if (this.props.text !== this.textareaRef.current.value) { // Something changed the text inside the textarea (e.g. browser extensions like Grammarly) // Update the state to match the current text @@ -120,7 +120,7 @@ class ComposeForm extends ImmutablePureComponent { return; } - this.props.onSubmit(this.props.history || null); + this.props.onSubmit(this.props.history || null, overridePrivacy); if (e) { e.preventDefault(); diff --git a/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js b/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js index ba20698bac8c5c..545f984ef0935a 100644 --- a/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js +++ b/app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js @@ -36,8 +36,8 @@ const mapDispatchToProps = (dispatch) => ({ dispatch(changeCompose(text)); }, - onSubmit (router) { - dispatch(submitCompose(router)); + onSubmit (router, overridePrivacy = null) { + dispatch(submitCompose(router, overridePrivacy)); }, onClearSuggestions () { diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index ffbf0c2aa8b547..20833f63276241 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -751,9 +751,10 @@ body > [data-popper-placement] { &__submit { display: flex; align-items: center; - flex: 1 1 auto; + flex: 1 0 100%; // glitch: always on its own line max-width: 100%; overflow: hidden; + gap: 5px; // glitch: handle secondary post privacy } &__buttons {