{"version":3,"sources":["webpack:///./app/javascript/mastodon/features/ui/components/mute_modal.js"],"names":["MuteModal","Object","react_redux__WEBPACK_IMPORTED_MODULE_5__","state","isSubmitting","getIn","account","notifications","dispatch","onConfirm","_actions_accounts__WEBPACK_IMPORTED_MODULE_10__","get","onClose","_actions_modal__WEBPACK_IMPORTED_MODULE_9__","onToggleNotifications","_actions_mutes__WEBPACK_IMPORTED_MODULE_11__","react_intl__WEBPACK_IMPORTED_MODULE_6__","handleClick","_this","props","handleCancel","setRef","c","button","toggleNotifications","componentDidMount","this","focus","render","_props","babel_runtime_helpers_jsx__WEBPACK_IMPORTED_MODULE_0___default","className","id","defaultMessage","values","name","htmlFor","react_toggle__WEBPACK_IMPORTED_MODULE_7___default","a","checked","onChange","_components_button__WEBPACK_IMPORTED_MODULE_8__","onClick","react__WEBPACK_IMPORTED_MODULE_4___default","createElement","ref","PureComponent"],"mappings":"8RAqCqBA,EAFpBC,OAAAC,EAAA,QAAAD,CAxBuB,SAAAE,GACtB,OACEC,aAAcD,EAAME,OAAO,UAAW,MAAO,iBAC7CC,QAASH,EAAME,OAAO,QAAS,MAAO,YACtCE,cAAeJ,EAAME,OAAO,QAAS,MAAO,oBAIrB,SAAAG,GACzB,OACEC,UADK,SACKH,EAASC,GACjBC,EAASP,OAAAS,EAAA,EAAAT,CAAYK,EAAQK,IAAI,MAAOJ,KAG1CK,QALK,WAMHJ,EAASP,OAAAY,EAAA,EAAAZ,KAGXa,sBATK,WAUHN,EAASP,OAAAc,EAAA,EAAAd,UAMdA,OAAAe,EAAA,EAAAf,8KAiBCgB,YAAc,WACZC,EAAKC,MAAMP,UACXM,EAAKC,MAAMV,UAAUS,EAAKC,MAAMb,QAASY,EAAKC,MAAMZ,kBAGtDa,aAAe,WACbF,EAAKC,MAAMP,aAGbS,OAAS,SAACC,GACRJ,EAAKK,OAASD,KAGhBE,oBAAsB,WACpBN,EAAKC,MAAML,kEAlBbW,6BACEC,KAAKH,OAAOI,qBAoBdC,kBAAU,IAAAC,EAC2BH,KAAKP,MAAhCb,EADAuB,EACAvB,QAASC,EADTsB,EACStB,cAEjB,OAAAuB,IAAA,OAAAC,UACiB,qCADjB,EAAAD,IAAA,OAAAC,UAEmB,8BAFnB,EAAAD,IAAA,cAAAA,IAISd,EAAA,GAJTgB,GAKa,6BALbC,eAMyB,wCANzBC,QAOoBC,KAAAL,IAAAK,uBAAgB7B,EAAQK,IAAI,aAPhDmB,IAAA,gBAAAA,IAAA,SAAAM,QAWuB,gDAXvB,EAAAN,IAYWd,EAAA,GAZXgB,GAY+B,gCAZ/BC,eAY8E,uCACnE,IAbXH,IAcWO,EAAAC,GAdXN,GAcqB,0CAdrBO,QAcwEhC,EAdxEiC,SAciGd,KAAKF,yBAdtGM,IAAA,OAAAC,UAmBmB,+BAnBnB,EAAAD,IAoBOW,EAAA,GApBPC,QAoBuBhB,KAAKN,aApB5BW,UAoBoD,kCApBpD,EAAAD,IAqBSd,EAAA,GArBTgB,GAqB6B,4BArB7BC,eAqBwE,YAElEU,EAAAL,EAAAM,cAACH,EAAA,GAAOC,QAAShB,KAAKT,YAAa4B,IAAKnB,KAAKL,QAA7CS,IACGd,EAAA,GADHgB,GACuB,6BADvBC,eACmE,gBA5DtCU,EAAAL,EAAMQ","file":"modals/mute_modal.js","sourcesContent":["import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport { injectIntl, FormattedMessage } from 'react-intl';\nimport Toggle from 'react-toggle';\nimport Button from '../../../components/button';\nimport { closeModal } from '../../../actions/modal';\nimport { muteAccount } from '../../../actions/accounts';\nimport { toggleHideNotifications } from '../../../actions/mutes';\n\n\nconst mapStateToProps = state => {\n  return {\n    isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n    account: state.getIn(['mutes', 'new', 'account']),\n    notifications: state.getIn(['mutes', 'new', 'notifications']),\n  };\n};\n\nconst mapDispatchToProps = dispatch => {\n  return {\n    onConfirm(account, notifications) {\n      dispatch(muteAccount(account.get('id'), notifications));\n    },\n\n    onClose() {\n      dispatch(closeModal());\n    },\n\n    onToggleNotifications() {\n      dispatch(toggleHideNotifications());\n    },\n  };\n};\n\n@connect(mapStateToProps, mapDispatchToProps)\n@injectIntl\nexport default class MuteModal extends React.PureComponent {\n\n  static propTypes = {\n    isSubmitting: PropTypes.bool.isRequired,\n    account: PropTypes.object.isRequired,\n    notifications: PropTypes.bool.isRequired,\n    onClose: PropTypes.func.isRequired,\n    onConfirm: PropTypes.func.isRequired,\n    onToggleNotifications: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  componentDidMount() {\n    this.button.focus();\n  }\n\n  handleClick = () => {\n    this.props.onClose();\n    this.props.onConfirm(this.props.account, this.props.notifications);\n  }\n\n  handleCancel = () => {\n    this.props.onClose();\n  }\n\n  setRef = (c) => {\n    this.button = c;\n  }\n\n  toggleNotifications = () => {\n    this.props.onToggleNotifications();\n  }\n\n  render () {\n    const { account, notifications } = this.props;\n\n    return (\n      <div className='modal-root__modal mute-modal'>\n        <div className='mute-modal__container'>\n          <p>\n            <FormattedMessage\n              id='confirmations.mute.message'\n              defaultMessage='Are you sure you want to mute {name}?'\n              values={{ name: <strong>@{account.get('acct')}</strong> }}\n            />\n          </p>\n          <div>\n            <label htmlFor='mute-modal__hide-notifications-checkbox'>\n              <FormattedMessage id='mute_modal.hide_notifications' defaultMessage='Hide notifications from this user?' />\n              {' '}\n              <Toggle id='mute-modal__hide-notifications-checkbox' checked={notifications} onChange={this.toggleNotifications} />\n            </label>\n          </div>\n        </div>\n\n        <div className='mute-modal__action-bar'>\n          <Button onClick={this.handleCancel} className='mute-modal__cancel-button'>\n            <FormattedMessage id='confirmation_modal.cancel' defaultMessage='Cancel' />\n          </Button>\n          <Button onClick={this.handleClick} ref={this.setRef}>\n            <FormattedMessage id='confirmations.mute.confirm' defaultMessage='Mute' />\n          </Button>\n        </div>\n      </div>\n    );\n  }\n\n}\n"],"sourceRoot":""}