import React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import ImmutablePropTypes from 'react-immutable-proptypes'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { Set as ImmutableSet } from 'immutable'; import noop from 'lodash/noop'; import { toggleStatusReport } from '../actions/reports'; import { MediaGallery, Video } from '../features/ui/util/async_components'; import Bundle from '../features/ui/util/bundle'; import StatusContent from './status_content'; import Switch from './switch'; class StatusCheckBox extends ImmutablePureComponent { render () { const { status, checked, onToggle, disabled } = this.props; let media = null; if (status.get('reblog')) return null if (status.get('media_attachments').size > 0) { if (status.get('media_attachments').some(item => item.get('type') === 'unknown')) { } else if (status.getIn(['media_attachments', 0, 'type']) === 'video') { const video = status.getIn(['media_attachments', 0]); media = ( {Component => ( )} ); } else { media = ( {Component => } ); } } return (
{media}
) } } const mapStateToProps = (state, { id }) => ({ status: state.getIn(['statuses', id]), checked: state.getIn(['reports', 'new', 'status_ids'], ImmutableSet()).includes(id), }) const mapDispatchToProps = (dispatch, { id }) => ({ onToggle(e) { dispatch(toggleStatusReport(id, e.target.checked)) }, }) StatusCheckBox.propTypes = { status: ImmutablePropTypes.map.isRequired, checked: PropTypes.bool, onToggle: PropTypes.func.isRequired, disabled: PropTypes.bool, } export default connect(mapStateToProps, mapDispatchToProps)(StatusCheckBox)