import { initMuteModal } from 'flavours/glitch/actions/mutes';
import { initReport } from 'flavours/glitch/actions/reports';
import { openModal } from 'flavours/glitch/actions/modal';
+import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import { boostModal, favouriteModal, deleteModal } from 'flavours/glitch/util/initial_state';
onReply (status, router) {
dispatch((_, getState) => {
let state = getState();
- if (state.getIn(['compose', 'text']).trim().length !== 0) {
+ if (state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0) {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.replyMessage),
confirm: intl.formatMessage(messages.replyConfirm),
+ onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),
onConfirm: () => dispatch(replyCompose(status, router)),
}));
} else {
>
<FormattedMessage id='settings.confirm_missing_media_description' defaultMessage='Show confirmation dialog before sending toots lacking media descriptions' />
</LocalSettingsPageItem>
+ <LocalSettingsPageItem
+ settings={settings}
+ item={['confirm_before_clearing_draft']}
+ id='mastodon-settings--confirm_before_clearing_draft'
+ onChange={onChange}
+ >
+ <FormattedMessage id='settings.confirm_before_clearing_draft' defaultMessage='Show confirmation dialog before clearing draft' />
+ </LocalSettingsPageItem>
<LocalSettingsPageItem
settings={settings}
item={['side_arm']}
mentionCompose,
directCompose,
} from 'flavours/glitch/actions/compose';
+import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
import { blockAccount } from 'flavours/glitch/actions/accounts';
import { muteStatus, unmuteStatus, deleteStatus } from 'flavours/glitch/actions/statuses';
import { initMuteModal } from 'flavours/glitch/actions/mutes';
ancestorsIds,
descendantsIds,
settings: state.get('local_settings'),
- askReplyConfirmation: state.getIn(['compose', 'text']).trim().length !== 0,
+ askReplyConfirmation: state.getIn(['local_settings', 'confirm_before_clearing_draft']) && state.getIn(['compose', 'text']).trim().length !== 0,
};
};
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.replyMessage),
confirm: intl.formatMessage(messages.replyConfirm),
+ onDoNotAsk: () => dispatch(changeLocalSetting(['confirm_before_clearing_draft'], false)),
onConfirm: () => dispatch(replyCompose(status, this.context.router.history)),
}));
} else {
show_reply_count : false,
always_show_spoilers_field: false,
confirm_missing_media_description: false,
+ confirm_before_clearing_draft: true,
preselect_on_reply: true,
inline_preview_cards: true,
content_warnings : ImmutableMap({