UNPKG

matrix-react-sdk

Version:
63 lines (61 loc) 8.11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _languageHandler = require("../../../languageHandler"); var _Playback = require("../../../audio/Playback"); var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton")); const _excluded = ["playback", "playbackPhase"]; /* Copyright 2024 New Vector Ltd. Copyright 2021 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Displays a play/pause button (activating the play/pause function of the recorder) * to be displayed in reference to a recording. */ class PlayPauseButton extends _react.default.PureComponent { constructor(props) { super(props); (0, _defineProperty2.default)(this, "onClick", () => { // noinspection JSIgnoredPromiseFromCall this.toggleState(); }); } async toggleState() { await this.props.playback.toggle(); } render() { const _this$props = this.props, { playback, playbackPhase } = _this$props, restProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded); const isPlaying = playback.isPlaying; const isDisabled = playbackPhase === _Playback.PlaybackState.Decoding; const classes = (0, _classnames.default)("mx_PlayPauseButton", { mx_PlayPauseButton_play: !isPlaying, mx_PlayPauseButton_pause: isPlaying, mx_PlayPauseButton_disabled: isDisabled }); return /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, (0, _extends2.default)({ "data-testid": "play-pause-button", className: classes, title: isPlaying ? (0, _languageHandler._t)("action|pause") : (0, _languageHandler._t)("action|play"), onClick: this.onClick, disabled: isDisabled }, restProps)); } } exports.default = PlayPauseButton; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGFzc25hbWVzIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9QbGF5YmFjayIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX2V4Y2x1ZGVkIiwiUGxheVBhdXNlQnV0dG9uIiwiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiY29uc3RydWN0b3IiLCJwcm9wcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZhdWx0IiwidG9nZ2xlU3RhdGUiLCJwbGF5YmFjayIsInRvZ2dsZSIsInJlbmRlciIsIl90aGlzJHByb3BzIiwicGxheWJhY2tQaGFzZSIsInJlc3RQcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJpc1BsYXlpbmciLCJpc0Rpc2FibGVkIiwiUGxheWJhY2tTdGF0ZSIsIkRlY29kaW5nIiwiY2xhc3NlcyIsImNsYXNzTmFtZXMiLCJteF9QbGF5UGF1c2VCdXR0b25fcGxheSIsIm14X1BsYXlQYXVzZUJ1dHRvbl9wYXVzZSIsIm14X1BsYXlQYXVzZUJ1dHRvbl9kaXNhYmxlZCIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJjbGFzc05hbWUiLCJ0aXRsZSIsIl90Iiwib25DbGljayIsImRpc2FibGVkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2F1ZGlvX21lc3NhZ2VzL1BsYXlQYXVzZUJ1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgeyBQbGF5YmFjaywgUGxheWJhY2tTdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi9hdWRpby9QbGF5YmFja1wiO1xuaW1wb3J0IEFjY2Vzc2libGVCdXR0b24sIHsgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vZWxlbWVudHMvQWNjZXNzaWJsZUJ1dHRvblwiO1xuXG50eXBlIFByb3BzID0gT21pdDxCdXR0b25Qcm9wczxcImRpdlwiPiwgXCJ0aXRsZVwiIHwgXCJvbkNsaWNrXCIgfCBcImRpc2FibGVkXCIgfCBcImVsZW1lbnRcIiB8IFwicmVmXCI+ICYge1xuICAgIC8vIFBsYXliYWNrIGluc3RhbmNlIHRvIG1hbmlwdWxhdGUuIENhbm5vdCBjaGFuZ2UgZHVyaW5nIHRoZSBjb21wb25lbnQgbGlmZWN5Y2xlLlxuICAgIHBsYXliYWNrOiBQbGF5YmFjaztcblxuICAgIC8vIFRoZSBwbGF5YmFjayBwaGFzZSB0byByZW5kZXIuIEFibGUgdG8gY2hhbmdlIGR1cmluZyB0aGUgY29tcG9uZW50IGxpZmVjeWNsZS5cbiAgICBwbGF5YmFja1BoYXNlOiBQbGF5YmFja1N0YXRlO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5cyBhIHBsYXkvcGF1c2UgYnV0dG9uIChhY3RpdmF0aW5nIHRoZSBwbGF5L3BhdXNlIGZ1bmN0aW9uIG9mIHRoZSByZWNvcmRlcilcbiAqIHRvIGJlIGRpc3BsYXllZCBpbiByZWZlcmVuY2UgdG8gYSByZWNvcmRpbmcuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBsYXlQYXVzZUJ1dHRvbiBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8UHJvcHM+IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM6IFByb3BzKSB7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2xpY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIC8vIG5vaW5zcGVjdGlvbiBKU0lnbm9yZWRQcm9taXNlRnJvbUNhbGxcbiAgICAgICAgdGhpcy50b2dnbGVTdGF0ZSgpO1xuICAgIH07XG5cbiAgICBwdWJsaWMgYXN5bmMgdG9nZ2xlU3RhdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucHJvcHMucGxheWJhY2sudG9nZ2xlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbmRlcigpOiBSZWFjdE5vZGUge1xuICAgICAgICBjb25zdCB7IHBsYXliYWNrLCBwbGF5YmFja1BoYXNlLCAuLi5yZXN0UHJvcHMgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IGlzUGxheWluZyA9IHBsYXliYWNrLmlzUGxheWluZztcbiAgICAgICAgY29uc3QgaXNEaXNhYmxlZCA9IHBsYXliYWNrUGhhc2UgPT09IFBsYXliYWNrU3RhdGUuRGVjb2Rpbmc7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc05hbWVzKFwibXhfUGxheVBhdXNlQnV0dG9uXCIsIHtcbiAgICAgICAgICAgIG14X1BsYXlQYXVzZUJ1dHRvbl9wbGF5OiAhaXNQbGF5aW5nLFxuICAgICAgICAgICAgbXhfUGxheVBhdXNlQnV0dG9uX3BhdXNlOiBpc1BsYXlpbmcsXG4gICAgICAgICAgICBteF9QbGF5UGF1c2VCdXR0b25fZGlzYWJsZWQ6IGlzRGlzYWJsZWQsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwicGxheS1wYXVzZS1idXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgICAgICAgICAgICB0aXRsZT17aXNQbGF5aW5nID8gX3QoXCJhY3Rpb258cGF1c2VcIikgOiBfdChcImFjdGlvbnxwbGF5XCIpfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25DbGlja31cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxnQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUE2RSxNQUFBSyxTQUFBO0FBYjdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTUMsZUFBZSxTQUFTQyxjQUFLLENBQUNDLGFBQWEsQ0FBUTtFQUM3REMsV0FBV0EsQ0FBQ0MsS0FBWSxFQUFFO0lBQzdCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUMsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxtQkFHQyxNQUFZO01BQzFCO01BQ0EsSUFBSSxDQUFDQyxXQUFXLENBQUMsQ0FBQztJQUN0QixDQUFDO0VBTEQ7RUFPQSxNQUFhQSxXQUFXQSxDQUFBLEVBQWtCO0lBQ3RDLE1BQU0sSUFBSSxDQUFDSCxLQUFLLENBQUNJLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDLENBQUM7RUFDdEM7RUFFT0MsTUFBTUEsQ0FBQSxFQUFjO0lBQ3ZCLE1BQUFDLFdBQUEsR0FBa0QsSUFBSSxDQUFDUCxLQUFLO01BQXREO1FBQUVJLFFBQVE7UUFBRUk7TUFBNEIsQ0FBQyxHQUFBRCxXQUFBO01BQVhFLFNBQVMsT0FBQUMseUJBQUEsQ0FBQVIsT0FBQSxFQUFBSyxXQUFBLEVBQUFaLFNBQUE7SUFDN0MsTUFBTWdCLFNBQVMsR0FBR1AsUUFBUSxDQUFDTyxTQUFTO0lBQ3BDLE1BQU1DLFVBQVUsR0FBR0osYUFBYSxLQUFLSyx1QkFBYSxDQUFDQyxRQUFRO0lBQzNELE1BQU1DLE9BQU8sR0FBRyxJQUFBQyxtQkFBVSxFQUFDLG9CQUFvQixFQUFFO01BQzdDQyx1QkFBdUIsRUFBRSxDQUFDTixTQUFTO01BQ25DTyx3QkFBd0IsRUFBRVAsU0FBUztNQUNuQ1EsMkJBQTJCLEVBQUVQO0lBQ2pDLENBQUMsQ0FBQztJQUVGLG9CQUNJeEIsTUFBQSxDQUFBYyxPQUFBLENBQUFrQixhQUFBLENBQUMxQixpQkFBQSxDQUFBUSxPQUFnQixNQUFBbUIsU0FBQSxDQUFBbkIsT0FBQTtNQUNiLGVBQVksbUJBQW1CO01BQy9Cb0IsU0FBUyxFQUFFUCxPQUFRO01BQ25CUSxLQUFLLEVBQUVaLFNBQVMsR0FBRyxJQUFBYSxtQkFBRSxFQUFDLGNBQWMsQ0FBQyxHQUFHLElBQUFBLG1CQUFFLEVBQUMsYUFBYSxDQUFFO01BQzFEQyxPQUFPLEVBQUUsSUFBSSxDQUFDQSxPQUFRO01BQ3RCQyxRQUFRLEVBQUVkO0lBQVcsR0FDakJILFNBQVMsQ0FDaEIsQ0FBQztFQUVWO0FBQ0o7QUFBQ2tCLE9BQUEsQ0FBQXpCLE9BQUEsR0FBQU4sZUFBQSIsImlnbm9yZUxpc3QiOltdfQ==