'use strict'; const React = require('react/addons'); const GameActions = require('../actions/GameActions'); const PureRenderMixin = React.addons.PureRenderMixin; const Clock = React.createClass({ propTypes: { io: React.PropTypes.object.isRequired, params: React.PropTypes.array.isRequired }, mixins: [PureRenderMixin], getInitialState() { const [_, time, inc] = this.props.params; return { white: time * 60, black: time * 60, inc: inc, countdown: null }; }, componentDidMount() { const io = this.props.io; io.on('countdown', data => this.setState({ [data.color]: data.time, countdown: data.color })); io.on('countdown-gameover', data => { this.setState({countdown: null}); GameActions.gameOver({ type: 'timeout', winner: data.color === 'black' ? 'White' : 'Black' }); }); }, render() { return (