[Glitch] Add confirmation modal when logging out from the web app

Port fd3d45d38f to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
This commit is contained in:
ThibG
2019-08-26 18:24:10 +02:00
committed by Thibaut Girka
parent 7c22e32562
commit f11e9d5524
4 changed files with 122 additions and 29 deletions

View File

@ -1,6 +1,13 @@
import { openModal } from 'flavours/glitch/actions/modal';
import { connect } from 'react-redux';
import { defineMessages, injectIntl } from 'react-intl';
import Header from '../components/header';
import { logOut } from 'flavours/glitch/util/log_out';
const messages = defineMessages({
logoutMessage: { id: 'confirmations.logout.message', defaultMessage: 'Are you sure you want to log out?' },
logoutConfirm: { id: 'confirmations.logout.confirm', defaultMessage: 'Log out' },
});
const mapStateToProps = state => {
return {
@ -16,6 +23,13 @@ const mapDispatchToProps = (dispatch, { intl }) => ({
e.stopPropagation();
dispatch(openModal('SETTINGS', {}));
},
onLogout () {
dispatch(openModal('CONFIRM', {
message: intl.formatMessage(messages.logoutMessage),
confirm: intl.formatMessage(messages.logoutConfirm),
onConfirm: () => logOut(),
}));
},
});
export default connect(mapStateToProps, mapDispatchToProps)(Header);
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Header));