diff options
Diffstat (limited to 'app/client/modules/pix2pixhd/views/pix2pixhd.uprez.js')
| -rw-r--r-- | app/client/modules/pix2pixhd/views/pix2pixhd.uprez.js | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/app/client/modules/pix2pixhd/views/pix2pixhd.uprez.js b/app/client/modules/pix2pixhd/views/pix2pixhd.uprez.js new file mode 100644 index 0000000..b26eae9 --- /dev/null +++ b/app/client/modules/pix2pixhd/views/pix2pixhd.uprez.js @@ -0,0 +1,114 @@ +import { h, Component } from 'preact' +import { bindActionCreators } from 'redux' +import { Link } from 'react-router-dom'; +import { connect } from 'react-redux' +import util from '../../../util' + +import actions from '../../../actions' + +import * as pix2pixhdActions from '../pix2pixhd.actions' +import * as pix2pixhdTasks from '../pix2pixhd.tasks' + +import Loading from '../../../common/loading.component' +import { FileList, FileRow } from '../../../common/fileList.component' + +let yes_count = 0 + +class Pix2pixHDUprez extends Component { + constructor(props){ + super() + if (!props.pix2pixhd.uprez) props.actions.load_uprez() + } + componentDidMount(){ + yes_count = 0 + } + render(){ + if (! this.props.pix2pixhd.uprez) return <Loading progress={this.props.pix2pixhd.progress} /> + + const { resultsFolder, results, renders, files } = this.props.pix2pixhd.uprez + // console.log(resultsFolder, results) + + return ( + <div className='app pix2pixhd'> + <div className='heading row middle'> + <h1>Pix2PixHD Uprez</h1> + </div> + <div class='rows params renders'> + + <h3>folders on server</h3> + <FileList + files={results} + orderBy='date desc' + fields={'name date count'} + onClick={(file, e) => { + e.preventDefault() + e.stopPropagation() + console.log('picked a result', file) + this.handlePick(file) + }} + options={file => { + console.log(file) + // create uprez task + return ( + <div> + {' ~ '} + <a href='#' onClick={() => this.handleUprez(file, { end: 250 })}>Uprez 10 seconds</a> + {' ~ '} + <a href='#' onClick={() => this.handleUprez(file, { end: 1500 })}>Uprez 1 minute</a> + {' ~ '} + <a href='#' onClick={() => this.handleUprez(file)}>Uprez whole thing</a> + </div> + ) + }} + /> + <br /> + + <h3>uprezzed videos</h3> + <FileList + linkFiles + files={files} + orderBy='date desc' + fields={'name date size delete'} + onDelete={file => { + let yes; + if (yes_count < 3) { + yes = confirm('Are you sure you want to delete this file?') + } else { + yes = true + } + if (yes) { + yes_count += 1 + console.log('delete: confirmed') + actions.file.destroy(file) + } + }} + /> + + </div> + </div> + ) + } + handlePick(file){ + // this.props.audioPlayer.play(file) + } + handleUprez(file, opt){ + console.log(file) + this.props.remote.uprez_task({ + is_result: true, + dataset: file.name, + ...opt + }) + } +} + +const mapStateToProps = state => ({ + pix2pixhd: state.module.pix2pixhd, +}) + +const mapDispatchToProps = (dispatch, ownProps) => ({ + actions: bindActionCreators(pix2pixhdActions, dispatch), + remote: bindActionCreators(pix2pixhdTasks, dispatch), + // audioPlayer: bindActionCreators(audioPlayerActions, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(Pix2pixHDUprez) |
