Files
2025-10-12 13:42:02 +02:00

43 lines
1.3 KiB
JavaScript

import { defineMessages, injectIntl } from "react-intl";
import { connect } from "react-redux";
import { openModal } from "flavours/glitch/actions/modal";
import { logOut } from "flavours/glitch/utils/log_out";
import Header from "../components/header";
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 {
columns: state.getIn(["settings", "columns"]),
unreadNotifications: state.getIn(["notifications", "unread"]),
showNotificationsBadge: state.getIn(["local_settings", "notifications", "tab_badge"]),
};
};
const mapDispatchToProps = (dispatch, { intl }) => ({
onSettingsClick (e) {
e.preventDefault();
e.stopPropagation();
dispatch(openModal({ modalType: "SETTINGS", modalProps: {} }));
},
onLogout () {
dispatch(openModal({
modalType: "CONFIRM",
modalProps: {
message: intl.formatMessage(messages.logoutMessage),
confirm: intl.formatMessage(messages.logoutConfirm),
closeWhenConfirm: false,
onConfirm: () => logOut(),
},
}));
},
});
export default injectIntl(connect(mapStateToProps, mapDispatchToProps)(Header));