import React, { Component } from 'react' import { Link } from 'react-router-dom' import { connect } from 'react-redux' import actions from 'app/actions' import { formatDate, formatTime, formatAge, uploadUri } from 'app/utils' import { history } from 'app/store' import { Loader, MenuButton } from 'app/common' class UploadShow extends Component { componentDidMount() { actions.upload.show(this.props.match.params.id) } componentDidUpdate(prevProps) { if (prevProps.match.params.id !== this.props.match.params.id) { actions.upload.show(this.props.match.params.id) } } handleDestroy() { const { res: data } = this.props.upload.show if (confirm("Really delete this upload?")) { actions.upload.destroy(data).then(() => { history.push('/upload/') }) } } render() { const { show, destroy } = this.props.upload if (show.loading || destroy.loading) { return } if (!show.loading && !show.res || show.not_found) { return
Upload {this.props.match.params.id} not found
} const { res: data } = show return (
{'Uploaded by '} {data.username} {' on '} {formatDate(data.created_at)} {' at '} {formatTime(data.created_at)} {'. '}
) } } const mapStateToProps = state => ({ upload: state.upload, }) const mapDispatchToProps = dispatch => ({ // searchActions: bindActionCreators({ ...searchActions }, dispatch), }) export default connect(mapStateToProps, mapDispatchToProps)(UploadShow)