~cytrogen/masto-fe

ref: 9cde97cabcb3b1c40632950d681ac3d11218e164 masto-fe/app/javascript/mastodon/features/compose/containers/navigation_container.js -rw-r--r-- 1.1 KiB
9cde97ca — Cytrogen Merge PR #84: Confirmation dialogs a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { defineMessages, injectIntl } from "react-intl";

import { connect }   from "react-redux";

import { openModal } from "mastodon/actions/modal";
import { logOut } from "mastodon/utils/log_out";

import { me } from "../../../initial_state";
import NavigationBar from "../components/navigation_bar";

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 {
    account: state.getIn(["accounts", me]),
  };
};

const mapDispatchToProps = (dispatch, { intl }) => ({
  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)(NavigationBar));