diff --git a/js/components/ascribe_detail/media_container.js b/js/components/ascribe_detail/media_container.js index fe9d251d..f7ed5cfc 100644 --- a/js/components/ascribe_detail/media_container.js +++ b/js/components/ascribe_detail/media_container.js @@ -47,11 +47,11 @@ let MediaContainer = React.createClass({ return (
+ mimetype={mimetype} + preview={thumbnail} + url={this.props.content.digital_work.url} + extraData={extraData} + encodingStatus={this.props.content.digital_work.isEncoding} />

+ loadPiece={this.loadPiece}> + 0 + || this.state.piece.other_data !== null} + defaultExpanded={true}> + + + ); } else { return ( diff --git a/js/components/whitelabel/prize/components/ascribe_detail/piece_container.js b/js/components/whitelabel/prize/components/ascribe_detail/piece_container.js new file mode 100644 index 00000000..88cb986c --- /dev/null +++ b/js/components/whitelabel/prize/components/ascribe_detail/piece_container.js @@ -0,0 +1,85 @@ +'use strict'; + +import React from 'react'; + +import PieceActions from '../../../../../actions/piece_actions'; +import PieceStore from '../../../../../stores/piece_store'; + +import Piece from '../../../../../components/ascribe_detail/piece'; + +import AppConstants from '../../../../../constants/application_constants'; + +import Form from '../../../../../components/ascribe_forms/form'; +import Property from '../../../../../components/ascribe_forms/property'; +import InputTextAreaToggable from '../../../../../components/ascribe_forms/input_textarea_toggable'; +import CollapsibleParagraph from '../../../../../components/ascribe_collapsible/collapsible_paragraph'; + +/** + * This is the component that implements resource/data specific functionality + */ +let PieceContainer = React.createClass({ + getInitialState() { + return PieceStore.getState(); + }, + + onChange(state) { + this.setState(state); + }, + + componentDidMount() { + PieceStore.listen(this.onChange); + PieceActions.fetchOne(this.props.params.pieceId); + }, + + componentWillUnmount() { + // Every time we're leaving the piece detail page, + // just reset the piece that is saved in the piece store + // as it will otherwise display wrong/old data once the user loads + // the piece detail a second time + PieceActions.updatePiece({}); + + PieceStore.unlisten(this.onChange); + }, + + + loadPiece() { + PieceActions.fetchOne(this.props.params.pieceId); + }, + + render() { + if('title' in this.state.piece) { + return ( + + +

+ + + +
+
+ + + ); + } else { + return ( +
+ +
+ ); + } + } +}); + +export default PieceContainer; diff --git a/js/components/whitelabel/prize/components/landing.js b/js/components/whitelabel/prize/components/landing.js index a0344a8a..8269f903 100644 --- a/js/components/whitelabel/prize/components/landing.js +++ b/js/components/whitelabel/prize/components/landing.js @@ -14,20 +14,20 @@ let Landing = React.createClass({
-

Sluice Art Prize 2015

+

Sluice_screens ↄc Prize 2015

- This is the submission page for sluice art fair price 2015. + This is the submission page for Sluice_screens ↄc Prize 2015.

- Signup to the prize + Signup to submit

or, already an ascribe user?

- Login with ascribe + Login to submit
diff --git a/js/components/whitelabel/prize/components/signup_container.js b/js/components/whitelabel/prize/components/signup_container.js index 7f3e769a..3f9a5a82 100644 --- a/js/components/whitelabel/prize/components/signup_container.js +++ b/js/components/whitelabel/prize/components/signup_container.js @@ -32,7 +32,7 @@ let SignupContainer = React.createClass({ return (
diff --git a/js/components/whitelabel/prize/routes.js b/js/components/whitelabel/prize/routes.js index 97ef247f..9821fc79 100644 --- a/js/components/whitelabel/prize/routes.js +++ b/js/components/whitelabel/prize/routes.js @@ -9,7 +9,7 @@ import SignupContainer from './components/signup_container'; import PasswordResetContainer from '../../../components/password_reset_container'; import PrizeRegisterPiece from './components/register_piece'; import PrizePieceList from './components/piece_list'; -import PieceContainer from '../../ascribe_detail/piece_container'; +import PrizePieceContainer from './components/ascribe_detail/piece_container'; import EditionContainer from '../../ascribe_detail/edition_container'; import SettingsContainer from '../../../components/settings_container'; @@ -29,7 +29,7 @@ function getRoutes(commonRoutes) { - +