'use strict'; import React from 'react'; import { History } from 'react-router'; import PrizeActions from '../../simple_prize/actions/prize_actions'; import PrizeStore from '../../simple_prize/stores/prize_store'; import Button from 'react-bootstrap/lib/Button'; import ButtonGroup from 'react-bootstrap/lib/ButtonGroup'; import LinkContainer from 'react-router-bootstrap/lib/LinkContainer'; import UserStore from '../../../../../stores/user_store'; import UserActions from '../../../../../actions/user_actions'; import { mergeOptions } from '../../../../../utils/general_utils'; import { getLangText } from '../../../../../utils/lang_utils'; const PRLanding = React.createClass({ mixins: [History], getInitialState() { return mergeOptions( PrizeStore.getState(), UserStore.getState() ); }, componentDidMount() { UserStore.listen(this.onChange); UserActions.fetchCurrentUser(); PrizeStore.listen(this.onChange); PrizeActions.fetchPrize(); }, componentWillUnmount() { UserStore.unlisten(this.onChange); PrizeStore.unlisten(this.onChange); }, onChange(state) { this.setState(state); }, getButtons() { if (this.state.prize && this.state.prize.active){ return (

{getLangText('or, already an ascribe user?')}

); } return ( {getLangText('Sign up to ascribe')}

{getLangText('or, already an ascribe user?')}

); }, getTitle() { if (this.state.prize && this.state.prize.active){ return (

{getLangText('This is the submission page for Portfolio Review 2015.')}

); } return (

{getLangText('Submissions for Portfolio Review 2015 are now closed.')}

); }, render() { return (

{getLangText('Welcome to Portfolio Review 2015')}

{this.getTitle()} {this.getButtons()}
); } }); export default PRLanding;