12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // @flow
-
- import { getFeatureFlag, CLOSE_CAPTIONS_ENABLED } from '../../base/flags';
- import { translate } from '../../base/i18n';
- import { IconClosedCaption } from '../../base/icons';
- import { connect } from '../../base/redux';
-
- import {
- AbstractClosedCaptionButton,
- _abstractMapStateToProps
- } from './AbstractClosedCaptionButton';
-
- /**
- * A button which starts/stops the transcriptions.
- */
- class ClosedCaptionButton
- extends AbstractClosedCaptionButton {
- accessibilityLabel = 'toolbar.accessibilityLabel.cc';
- icon = IconClosedCaption;
- label = 'transcribing.start';
- toggledLabel = 'transcribing.stop';
- }
-
- /**
- * Maps (parts of) the redux state to the associated props for this component.
- *
- * @param {Object} state - The redux state.
- * @param {Object} ownProps - The properties explicitly passed to the component
- * instance.
- * @private
- * @returns {Props}
- */
- export function mapStateToProps(state: Object, ownProps: Object) {
- const enabled = getFeatureFlag(state, CLOSE_CAPTIONS_ENABLED, true);
- const abstractProps = _abstractMapStateToProps(state, ownProps);
-
- return {
- ...abstractProps,
- visible: abstractProps.visible && enabled
- };
- }
-
- export default translate(connect(mapStateToProps)(ClosedCaptionButton));
|