From 323b48c5115cc91a06625744041bda6cf202b72c Mon Sep 17 00:00:00 2001 From: catarak Date: Mon, 27 Jun 2016 15:08:25 -0400 Subject: [PATCH] add proptypes to toolbar --- client/modules/IDE/components/Toolbar.js | 86 +++++++++++++----------- 1 file changed, 47 insertions(+), 39 deletions(-) diff --git a/client/modules/IDE/components/Toolbar.js b/client/modules/IDE/components/Toolbar.js index dbc1ef93..eda3a0d4 100644 --- a/client/modules/IDE/components/Toolbar.js +++ b/client/modules/IDE/components/Toolbar.js @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { PropTypes } from 'react'; const Isvg = require('react-inlinesvg'); const playUrl = require('../../../images/play.svg'); @@ -7,46 +7,54 @@ const stopUrl = require('../../../images/stop.svg'); const preferencesUrl = require('../../../images/preferences.svg'); const classNames = require('classnames'); -class Toolbar extends React.Component { - render() { - let playButtonClass = classNames({ - 'toolbar__play-button': true, - 'toolbar__play-button--selected': this.props.isPlaying - }); - let stopButtonClass = classNames({ - 'toolbar__stop-button': true, - 'toolbar__stop-button--selected': !this.props.isPlaying - }); - let preferencesButtonClass = classNames({ - 'toolbar__preferences-button': true, - 'toolbar__preferences-button--selected': this.props.isPreferencesVisible - }); +function Toolbar(props) { + let playButtonClass = classNames({ + 'toolbar__play-button': true, + 'toolbar__play-button--selected': props.isPlaying + }); + let stopButtonClass = classNames({ + 'toolbar__stop-button': true, + 'toolbar__stop-button--selected': !props.isPlaying + }); + let preferencesButtonClass = classNames({ + 'toolbar__preferences-button': true, + 'toolbar__preferences-button--selected': props.isPreferencesVisible + }); - return ( -
- p5js Logo - - -
- - {this.props.projectName} - -
- + return ( +
+ p5js Logo + + +
+ + {props.projectName} +
- ); - } + +
+ ); } +Toolbar.propTypes = { + isPlaying: PropTypes.bool.isRequired, + isPreferencesVisible: PropTypes.bool.isRequired, + startSketch: PropTypes.func.isRequired, + stopSketch: PropTypes.func.isRequired, + setProjectName: PropTypes.func.isRequired, + projectName: PropTypes.string.isRequired, + openPreferences: PropTypes.func.isRequired +}; + export default Toolbar;