akkoma/priv/static/packs/flavours/glitch/async/report_modal.js.map
2022-01-08 21:44:37 +00:00

1 line
No EOL
14 KiB
Text

{"version":3,"sources":["webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/report/components/status_check_box.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js","webpack:///app/javascript/tank/sources/git/git.pleroma.social/pleroma/mastofe/app/javascript/flavours/glitch/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","revealed","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":"flavours/glitch/async/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 'flavours/glitch/components/status_content';\nimport { MediaGallery, Video } from 'flavours/glitch/util/async-components';\nimport Bundle from 'flavours/glitch/features/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 revealed={false}\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')} revealed={false} 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\n status={status}\n media={media}\n />\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 'flavours/glitch/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 'flavours/glitch/actions/reports';\nimport { expandAccountTimeline } from 'flavours/glitch/actions/timelines';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { makeGetAccount } from 'flavours/glitch/selectors';\nimport { defineMessages, FormattedMessage, injectIntl } from 'react-intl';\nimport StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';\nimport { OrderedSet } from 'immutable';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Button from 'flavours/glitch/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":""}