import PropTypes from "prop-types"; import ImmutablePropTypes from "react-immutable-proptypes"; import ImmutablePureComponent from "react-immutable-pure-component"; import { connect } from "react-redux"; import Audio from "mastodon/features/audio"; import Footer from "mastodon/features/picture_in_picture/components/footer"; const mapStateToProps = (state, { statusId }) => ({ status: state.getIn(["statuses", statusId]), accountStaticAvatar: state.getIn(["accounts", state.getIn(["statuses", statusId, "account"]), "avatar_static"]), }); class AudioModal extends ImmutablePureComponent { static propTypes = { media: ImmutablePropTypes.map.isRequired, statusId: PropTypes.string.isRequired, status: ImmutablePropTypes.map.isRequired, accountStaticAvatar: PropTypes.string.isRequired, options: PropTypes.shape({ autoPlay: PropTypes.bool, }), onClose: PropTypes.func.isRequired, onChangeBackgroundColor: PropTypes.func.isRequired, }; render () { const { media, status, accountStaticAvatar, onClose } = this.props; const options = this.props.options || {}; const language = status.getIn(["translation", "language"]) || status.get("language"); const description = media.getIn(["translation", "description"]) || media.get("description"); return (