Merge branch 'feature/mastofe-admin-scope' into 'develop'
[akkoma] / priv / static / packs / modals / report_modal.js.map
index 110d02e7ca002e7a4f13a33c67be7f1432423a84..079fd6be60643d7707ccddb91b95f42cb3355bef 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/mastodon/features/report/components/status_check_box.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/mastodon/features/report/containers/status_check_box_container.js","webpack:///app/javascript/builds/pleroma/mastofe/app/javascript/mastodon/features/ui/components/report_modal.js"],"names":["StatusCheckBox","render","_this$props","this","props","status","checked","onToggle","disabled","media","get","size","some","item","getIn","video","Object","jsx","bundle","fetchComponent","Video","loading","renderLoadingVideoPlayer","Component","preview","src","alt","width","height","inline","sensitive","onOpenVideo","noop","MediaGallery","renderLoadingMediaGallery","onOpenMedia","className","status_content","component_default","a","onChange","React","PureComponent","connect","state","_ref","id","ImmutableSet","includes","dispatch","_ref2","e","toggleStatusReport","target","messages","defineMessages","close","defaultMessage","placeholder","submit","ReportModal","getAccount","makeGetAccount","accountId","isSubmitting","account","comment","forward","statusIds","OrderedSet","union","injectIntl","_this","changeReportComment","value","changeReportForward","submitReport","keyCode","ctrlKey","metaKey","handleSubmit","componentDidMount","expandAccountTimeline","withReplies","componentWillReceiveProps","nextProps","intl","onClose","domain","split","icon_button","title","formatMessage","icon","onClick","index_es","values","handleCommentChange","onKeyDown","handleKeyDown","autoFocus","handleForwardChange","htmlFor","components_button","text","map","statusId","status_check_box_container","ImmutablePureComponent","PropTypes","bool","ImmutablePropTypes","orderedSet","isRequired","string","func","object"],"mappings":"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","file":"modals/report_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Toggle from 'react-toggle';\nimport noop from 'lodash/noop';\nimport StatusContent from '../../../components/status_content';\nimport { MediaGallery, Video } from '../../ui/util/async-components';\nimport Bundle from '../../ui/components/bundle';\n\nexport default class StatusCheckBox extends React.PureComponent {\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    checked: PropTypes.bool,\n    onToggle: PropTypes.func.isRequired,\n    disabled: PropTypes.bool,\n  };\n\n  render () {\n    const { status, checked, onToggle, disabled } = this.props;\n    let media = null;\n\n    if (status.get('reblog')) {\n      return null;\n    }\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        const video = status.getIn(['media_attachments', 0]);\n\n        media = (\n          <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >\n            {Component => (\n              <Component\n                preview={video.get('preview_url')}\n                src={video.get('url')}\n                alt={video.get('description')}\n                width={239}\n                height={110}\n                inline\n                sensitive={status.get('sensitive')}\n                onOpenVideo={noop}\n              />\n            )}\n          </Bundle>\n        );\n      } else {\n        media = (\n          <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >\n            {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} height={110} onOpenMedia={noop} />}\n          </Bundle>\n        );\n      }\n    }\n\n    return (\n      <div className='status-check-box'>\n        <div className='status-check-box__status'>\n          <StatusContent status={status} />\n          {media}\n        </div>\n\n        <div className='status-check-box-toggle'>\n          <Toggle checked={checked} onChange={onToggle} disabled={disabled} />\n        </div>\n      </div>\n    );\n  }\n\n}\n","import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from '../../../actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nconst mapStateToProps = (state, { id }) => ({\n  status: state.getIn(['statuses', id]),\n  checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id),\n});\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n\n  onToggle (e) {\n    dispatch(toggleStatusReport(id, e.target.checked));\n  },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, changeReportForward, submitReport } from '../../../actions/reports';\nimport { expandAccountTimeline } from '../../../actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from '../../../selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from '../../report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from '../../../components/button';\nimport Toggle from 'react-toggle';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n  close: { id: 'lightbox.close', defaultMessage: 'Close' },\n  placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },\n  submit: { id: 'report.submit', defaultMessage: 'Submit' },\n});\n\nconst makeMapStateToProps = () => {\n  const getAccount = makeGetAccount();\n\n  const mapStateToProps = state => {\n    const accountId = state.getIn(['reports', 'new', 'account_id']);\n\n    return {\n      isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n      account: getAccount(state, accountId),\n      comment: state.getIn(['reports', 'new', 'comment']),\n      forward: state.getIn(['reports', 'new', 'forward']),\n      statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),\n    };\n  };\n\n  return mapStateToProps;\n};\n\nexport default @connect(makeMapStateToProps)\n@injectIntl\nclass ReportModal extends ImmutablePureComponent {\n\n  static propTypes = {\n    isSubmitting: PropTypes.bool,\n    account: ImmutablePropTypes.map,\n    statusIds: ImmutablePropTypes.orderedSet.isRequired,\n    comment: PropTypes.string.isRequired,\n    forward: PropTypes.bool,\n    dispatch: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleCommentChange = e => {\n    this.props.dispatch(changeReportComment(e.target.value));\n  }\n\n  handleForwardChange = e => {\n    this.props.dispatch(changeReportForward(e.target.checked));\n  }\n\n  handleSubmit = () => {\n    this.props.dispatch(submitReport());\n  }\n\n  handleKeyDown = e => {\n    if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n      this.handleSubmit();\n    }\n  }\n\n  componentDidMount () {\n    this.props.dispatch(expandAccountTimeline(this.props.account.get('id'), { withReplies: true }));\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (this.props.account !== nextProps.account && nextProps.account) {\n      this.props.dispatch(expandAccountTimeline(nextProps.account.get('id'), { withReplies: true }));\n    }\n  }\n\n  render () {\n    const { account, comment, intl, statusIds, isSubmitting, forward, onClose } = this.props;\n\n    if (!account) {\n      return null;\n    }\n\n    const domain = account.get('acct').split('@')[1];\n\n    return (\n      <div className='modal-root__modal report-modal'>\n        <div className='report-modal__target'>\n          <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={16} />\n          <FormattedMessage id='report.target' defaultMessage='Report {target}' values={{ target: <strong>{account.get('acct')}</strong> }} />\n        </div>\n\n        <div className='report-modal__container'>\n          <div className='report-modal__comment'>\n            <p><FormattedMessage id='report.hint' defaultMessage='The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:' /></p>\n\n            <textarea\n              className='setting-text light'\n              placeholder={intl.formatMessage(messages.placeholder)}\n              value={comment}\n              onChange={this.handleCommentChange}\n              onKeyDown={this.handleKeyDown}\n              disabled={isSubmitting}\n              autoFocus\n            />\n\n            {domain && (\n              <div>\n                <p><FormattedMessage id='report.forward_hint' defaultMessage='The account is from another server. Send an anonymized copy of the report there as well?' /></p>\n\n                <div className='setting-toggle'>\n                  <Toggle id='report-forward' checked={forward} disabled={isSubmitting} onChange={this.handleForwardChange} />\n                  <label htmlFor='report-forward' className='setting-toggle__label'><FormattedMessage id='report.forward' defaultMessage='Forward to {target}' values={{ target: domain }} /></label>\n                </div>\n              </div>\n            )}\n\n            <Button disabled={isSubmitting} text={intl.formatMessage(messages.submit)} onClick={this.handleSubmit} />\n          </div>\n\n          <div className='report-modal__statuses'>\n            <div>\n              {statusIds.map(statusId => <StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />)}\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/report/components/status_check_box.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/report/containers/status_check_box_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/mastodon/features/ui/components/report_modal.js"],"names":["StatusCheckBox","render","this","props","status","checked","onToggle","disabled","media","get","size","some","item","getIn","video","fetchComponent","Video","loading","renderLoadingVideoPlayer","Component","preview","blurhash","src","alt","width","height","inline","sensitive","onOpenVideo","noop","MediaGallery","renderLoadingMediaGallery","onOpenMedia","className","onChange","React","PureComponent","connect","state","id","ImmutableSet","includes","dispatch","e","toggleStatusReport","target","messages","defineMessages","close","placeholder","submit","ReportModal","getAccount","makeGetAccount","accountId","isSubmitting","account","comment","forward","statusIds","OrderedSet","union","injectIntl","changeReportComment","value","changeReportForward","submitReport","keyCode","ctrlKey","metaKey","handleSubmit","componentDidMount","expandAccountTimeline","withReplies","componentWillReceiveProps","nextProps","intl","onClose","domain","split","title","formatMessage","icon","onClick","defaultMessage","values","handleCommentChange","onKeyDown","handleKeyDown","autoFocus","handleForwardChange","htmlFor","text","map","statusId","ImmutablePureComponent","PropTypes","bool","ImmutablePropTypes","orderedSet","isRequired","string","func","object"],"mappings":"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","file":"modals/report_modal.js","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Toggle from 'react-toggle';\nimport noop from 'lodash/noop';\nimport StatusContent from '../../../components/status_content';\nimport { MediaGallery, Video } from '../../ui/util/async-components';\nimport Bundle from '../../ui/components/bundle';\n\nexport default class StatusCheckBox extends React.PureComponent {\n\n  static propTypes = {\n    status: ImmutablePropTypes.map.isRequired,\n    checked: PropTypes.bool,\n    onToggle: PropTypes.func.isRequired,\n    disabled: PropTypes.bool,\n  };\n\n  render () {\n    const { status, checked, onToggle, disabled } = this.props;\n    let media = null;\n\n    if (status.get('reblog')) {\n      return null;\n    }\n\n    if (status.get('media_attachments').size > 0) {\n      if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) {\n\n      } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') {\n        const video = status.getIn(['media_attachments', 0]);\n\n        media = (\n          <Bundle fetchComponent={Video} loading={this.renderLoadingVideoPlayer} >\n            {Component => (\n              <Component\n                preview={video.get('preview_url')}\n                blurhash={video.get('blurhash')}\n                src={video.get('url')}\n                alt={video.get('description')}\n                width={239}\n                height={110}\n                inline\n                sensitive={status.get('sensitive')}\n                onOpenVideo={noop}\n              />\n            )}\n          </Bundle>\n        );\n      } else {\n        media = (\n          <Bundle fetchComponent={MediaGallery} loading={this.renderLoadingMediaGallery} >\n            {Component => <Component media={status.get('media_attachments')} sensitive={status.get('sensitive')} height={110} onOpenMedia={noop} />}\n          </Bundle>\n        );\n      }\n    }\n\n    return (\n      <div className='status-check-box'>\n        <div className='status-check-box__status'>\n          <StatusContent status={status} />\n          {media}\n        </div>\n\n        <div className='status-check-box-toggle'>\n          <Toggle checked={checked} onChange={onToggle} disabled={disabled} />\n        </div>\n      </div>\n    );\n  }\n\n}\n","import { connect } from 'react-redux';\nimport StatusCheckBox from '../components/status_check_box';\nimport { toggleStatusReport } from '../../../actions/reports';\nimport { Set as ImmutableSet } from 'immutable';\n\nconst mapStateToProps = (state, { id }) => ({\n  status: state.getIn(['statuses', id]),\n  checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id),\n});\n\nconst mapDispatchToProps = (dispatch, { id }) => ({\n\n  onToggle (e) {\n    dispatch(toggleStatusReport(id, e.target.checked));\n  },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { changeReportComment, changeReportForward, submitReport } from '../../../actions/reports';\nimport { expandAccountTimeline } from '../../../actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from '../../../selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from '../../report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from '../../../components/button';\nimport Toggle from 'react-toggle';\nimport IconButton from '../../../components/icon_button';\n\nconst messages = defineMessages({\n  close: { id: 'lightbox.close', defaultMessage: 'Close' },\n  placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },\n  submit: { id: 'report.submit', defaultMessage: 'Submit' },\n});\n\nconst makeMapStateToProps = () => {\n  const getAccount = makeGetAccount();\n\n  const mapStateToProps = state => {\n    const accountId = state.getIn(['reports', 'new', 'account_id']);\n\n    return {\n      isSubmitting: state.getIn(['reports', 'new', 'isSubmitting']),\n      account: getAccount(state, accountId),\n      comment: state.getIn(['reports', 'new', 'comment']),\n      forward: state.getIn(['reports', 'new', 'forward']),\n      statusIds: OrderedSet(state.getIn(['timelines', `account:${accountId}:with_replies`, 'items'])).union(state.getIn(['reports', 'new', 'status_ids'])),\n    };\n  };\n\n  return mapStateToProps;\n};\n\nexport default @connect(makeMapStateToProps)\n@injectIntl\nclass ReportModal extends ImmutablePureComponent {\n\n  static propTypes = {\n    isSubmitting: PropTypes.bool,\n    account: ImmutablePropTypes.map,\n    statusIds: ImmutablePropTypes.orderedSet.isRequired,\n    comment: PropTypes.string.isRequired,\n    forward: PropTypes.bool,\n    dispatch: PropTypes.func.isRequired,\n    intl: PropTypes.object.isRequired,\n  };\n\n  handleCommentChange = e => {\n    this.props.dispatch(changeReportComment(e.target.value));\n  }\n\n  handleForwardChange = e => {\n    this.props.dispatch(changeReportForward(e.target.checked));\n  }\n\n  handleSubmit = () => {\n    this.props.dispatch(submitReport());\n  }\n\n  handleKeyDown = e => {\n    if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n      this.handleSubmit();\n    }\n  }\n\n  componentDidMount () {\n    this.props.dispatch(expandAccountTimeline(this.props.account.get('id'), { withReplies: true }));\n  }\n\n  componentWillReceiveProps (nextProps) {\n    if (this.props.account !== nextProps.account && nextProps.account) {\n      this.props.dispatch(expandAccountTimeline(nextProps.account.get('id'), { withReplies: true }));\n    }\n  }\n\n  render () {\n    const { account, comment, intl, statusIds, isSubmitting, forward, onClose } = this.props;\n\n    if (!account) {\n      return null;\n    }\n\n    const domain = account.get('acct').split('@')[1];\n\n    return (\n      <div className='modal-root__modal report-modal'>\n        <div className='report-modal__target'>\n          <IconButton className='media-modal__close' title={intl.formatMessage(messages.close)} icon='times' onClick={onClose} size={16} />\n          <FormattedMessage id='report.target' defaultMessage='Report {target}' values={{ target: <strong>{account.get('acct')}</strong> }} />\n        </div>\n\n        <div className='report-modal__container'>\n          <div className='report-modal__comment'>\n            <p><FormattedMessage id='report.hint' defaultMessage='The report will be sent to your server moderators. You can provide an explanation of why you are reporting this account below:' /></p>\n\n            <textarea\n              className='setting-text light'\n              placeholder={intl.formatMessage(messages.placeholder)}\n              value={comment}\n              onChange={this.handleCommentChange}\n              onKeyDown={this.handleKeyDown}\n              disabled={isSubmitting}\n              autoFocus\n            />\n\n            {domain && (\n              <div>\n                <p><FormattedMessage id='report.forward_hint' defaultMessage='The account is from another server. Send an anonymized copy of the report there as well?' /></p>\n\n                <div className='setting-toggle'>\n                  <Toggle id='report-forward' checked={forward} disabled={isSubmitting} onChange={this.handleForwardChange} />\n                  <label htmlFor='report-forward' className='setting-toggle__label'><FormattedMessage id='report.forward' defaultMessage='Forward to {target}' values={{ target: domain }} /></label>\n                </div>\n              </div>\n            )}\n\n            <Button disabled={isSubmitting} text={intl.formatMessage(messages.submit)} onClick={this.handleSubmit} />\n          </div>\n\n          <div className='report-modal__statuses'>\n            <div>\n              {statusIds.map(statusId => <StatusCheckBox id={statusId} key={statusId} disabled={isSubmitting} />)}\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n\n}\n"],"sourceRoot":""}
\ No newline at end of file