import classNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; import {defineMessages, injectIntl, intlShape} from 'react-intl'; import GreenFlag from '../green-flag/green-flag.jsx'; import PauseButton from '../pause-button/pause-button.jsx'; import StopAll from '../stop-all/stop-all.jsx'; import TurboMode from '../turbo-mode/turbo-mode.jsx'; import FramerateIndicator from '../tw-framerate-indicator/framerate-indicator.jsx'; import styles from './controls.css'; const messages = defineMessages({ goTitle: { id: 'gui.controls.go', defaultMessage: 'Go', description: 'Green flag button title' }, pauseTitle: { id: 'gui.controls.pause', defaultMessage: 'Pause', description: 'Pause button title' }, stopTitle: { id: 'gui.controls.stop', defaultMessage: 'Stop', description: 'Stop button title' } }); const Controls = function (props) { const { active, paused, className, intl, onGreenFlagClick, onPauseButtonClick, onStopAllClick, turbo, framerate, interpolation, isSmall, ...componentProps } = props; return (
{turbo ? ( ) : null} {!isSmall && ( )}
); }; Controls.propTypes = { active: PropTypes.bool, paused: PropTypes.bool, className: PropTypes.string, intl: intlShape.isRequired, onGreenFlagClick: PropTypes.func.isRequired, onPauseButtonClick: PropTypes.func.isRequired, onStopAllClick: PropTypes.func.isRequired, framerate: PropTypes.number, interpolation: PropTypes.bool, isSmall: PropTypes.bool, turbo: PropTypes.bool }; Controls.defaultProps = { active: false, turbo: false, isSmall: false }; export default injectIntl(Controls);