Add button to edit media description from missing description confirmation dialog

remotes/1727458204337373841/tmp_refs/heads/signup-info-prompt
Thibaut Girka 2019-08-20 11:28:17 +02:00
parent dff4ccd7e9
commit fae9e34484
2 changed files with 7 additions and 2 deletions

View File

@ -121,7 +121,8 @@ class ComposeForm extends ImmutablePureComponent {
// Submit unless there are media with missing descriptions
if (mediaDescriptionConfirmation && onMediaDescriptionConfirm && media && media.some(item => !item.get('description'))) {
onMediaDescriptionConfirm(this.context.router ? this.context.router.history : null);
const firstWithoutDescription = media.find(item => !item.get('description'));
onMediaDescriptionConfirm(this.context.router ? this.context.router.history : null, firstWithoutDescription.get('id'));
} else if (onSubmit) {
onSubmit(this.context.router ? this.context.router.history : null);
}

View File

@ -25,6 +25,8 @@ const messages = defineMessages({
defaultMessage: 'At least one media attachment is lacking a description. Consider describing all media attachments for the visually impaired before sending your toot.' },
missingDescriptionConfirm: { id: 'confirmations.missing_media_description.confirm',
defaultMessage: 'Send anyway' },
missingDescriptionEdit: { id: 'confirmations.missing_media_description.edit',
defaultMessage: 'Edit media' },
});
// State mapping.
@ -112,11 +114,13 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
dispatch(changeComposeVisibility(value));
},
onMediaDescriptionConfirm(routerHistory) {
onMediaDescriptionConfirm(routerHistory, mediaId) {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.missingDescriptionMessage),
confirm: intl.formatMessage(messages.missingDescriptionConfirm),
onConfirm: () => dispatch(submitCompose(routerHistory)),
secondary: intl.formatMessage(messages.missingDescriptionEdit),
onSecondary: () => dispatch(openModal('FOCAL_POINT', { id: mediaId })),
onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_missing_media_description'], false)),
}));
},