matrix-react-sdk
Version:
SDK for matrix.org using React
75 lines (72 loc) • 10.8 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.PlaybackLayout = void 0;
var _react = _interopRequireDefault(require("react"));
var _PlayPauseButton = _interopRequireDefault(require("./PlayPauseButton"));
var _PlaybackClock = _interopRequireDefault(require("./PlaybackClock"));
var _AudioPlayerBase = _interopRequireDefault(require("./AudioPlayerBase"));
var _SeekBar = _interopRequireDefault(require("./SeekBar"));
var _PlaybackWaveform = _interopRequireDefault(require("./PlaybackWaveform"));
var _Playback = require("../../../audio/Playback");
/*
Copyright 2024 New Vector Ltd.
Copyright 2021, 2022 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.
*/
let PlaybackLayout = exports.PlaybackLayout = /*#__PURE__*/function (PlaybackLayout) {
PlaybackLayout[PlaybackLayout["Composer"] = 0] = "Composer";
PlaybackLayout[PlaybackLayout["Timeline"] = 1] = "Timeline";
return PlaybackLayout;
}({});
class RecordingPlayback extends _AudioPlayerBase.default {
// This component is rendered in two ways: the composer and timeline. They have different
// rendering properties (specifically the difference of a waveform or not).
renderComposerLook() {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_PlaybackClock.default, {
playback: this.props.playback
}), /*#__PURE__*/_react.default.createElement(_PlaybackWaveform.default, {
playback: this.props.playback
}));
}
renderTimelineLook() {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
className: "mx_RecordingPlayback_timelineLayoutMiddle"
}, /*#__PURE__*/_react.default.createElement(_PlaybackWaveform.default, {
playback: this.props.playback
}), /*#__PURE__*/_react.default.createElement(_SeekBar.default, {
playback: this.props.playback,
tabIndex: 0 // allow keyboard users to fall into the seek bar
,
disabled: this.state.playbackPhase === _Playback.PlaybackState.Decoding,
ref: this.seekRef
})), /*#__PURE__*/_react.default.createElement(_PlaybackClock.default, {
playback: this.props.playback
}));
}
renderComponent() {
let body;
switch (this.props.layout) {
case PlaybackLayout.Composer:
body = this.renderComposerLook();
break;
case PlaybackLayout.Timeline: // default is timeline, fall through.
default:
body = this.renderTimelineLook();
break;
}
return /*#__PURE__*/_react.default.createElement("div", {
className: "mx_MediaBody mx_VoiceMessagePrimaryContainer",
onKeyDown: this.onKeyDown
}, /*#__PURE__*/_react.default.createElement(_PlayPauseButton.default, {
playback: this.props.playback,
playbackPhase: this.state.playbackPhase,
ref: this.playPauseRef
}), body);
}
}
exports.default = RecordingPlayback;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9QbGF5UGF1c2VCdXR0b24iLCJfUGxheWJhY2tDbG9jayIsIl9BdWRpb1BsYXllckJhc2UiLCJfU2Vla0JhciIsIl9QbGF5YmFja1dhdmVmb3JtIiwiX1BsYXliYWNrIiwiUGxheWJhY2tMYXlvdXQiLCJleHBvcnRzIiwiUmVjb3JkaW5nUGxheWJhY2siLCJBdWRpb1BsYXllckJhc2UiLCJyZW5kZXJDb21wb3Nlckxvb2siLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwicGxheWJhY2siLCJwcm9wcyIsInJlbmRlclRpbWVsaW5lTG9vayIsImNsYXNzTmFtZSIsInRhYkluZGV4IiwiZGlzYWJsZWQiLCJzdGF0ZSIsInBsYXliYWNrUGhhc2UiLCJQbGF5YmFja1N0YXRlIiwiRGVjb2RpbmciLCJyZWYiLCJzZWVrUmVmIiwicmVuZGVyQ29tcG9uZW50IiwiYm9keSIsImxheW91dCIsIkNvbXBvc2VyIiwiVGltZWxpbmUiLCJvbktleURvd24iLCJwbGF5UGF1c2VSZWYiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9hdWRpb19tZXNzYWdlcy9SZWNvcmRpbmdQbGF5YmFjay50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjEsIDIwMjIgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgUGxheVBhdXNlQnV0dG9uIGZyb20gXCIuL1BsYXlQYXVzZUJ1dHRvblwiO1xuaW1wb3J0IFBsYXliYWNrQ2xvY2sgZnJvbSBcIi4vUGxheWJhY2tDbG9ja1wiO1xuaW1wb3J0IEF1ZGlvUGxheWVyQmFzZSwgeyBJUHJvcHMgYXMgSUF1ZGlvUGxheWVyQmFzZVByb3BzIH0gZnJvbSBcIi4vQXVkaW9QbGF5ZXJCYXNlXCI7XG5pbXBvcnQgU2Vla0JhciBmcm9tIFwiLi9TZWVrQmFyXCI7XG5pbXBvcnQgUGxheWJhY2tXYXZlZm9ybSBmcm9tIFwiLi9QbGF5YmFja1dhdmVmb3JtXCI7XG5pbXBvcnQgeyBQbGF5YmFja1N0YXRlIH0gZnJvbSBcIi4uLy4uLy4uL2F1ZGlvL1BsYXliYWNrXCI7XG5cbmV4cG9ydCBlbnVtIFBsYXliYWNrTGF5b3V0IHtcbiAgICAvKipcbiAgICAgKiBDbG9jayBvbiB0aGUgbGVmdCBzaWRlIG9mIGEgd2F2ZWZvcm0sIHdpdGhvdXQgc2VlayBiYXIuXG4gICAgICovXG4gICAgQ29tcG9zZXIsXG5cbiAgICAvKipcbiAgICAgKiBDbG9jayBvbiB0aGUgcmlnaHQgc2lkZSBvZiBhIHdhdmVmb3JtLCB3aXRoIGFuIGFkZGVkIHNlZWsgYmFyLlxuICAgICAqL1xuICAgIFRpbWVsaW5lLFxufVxuXG5pbnRlcmZhY2UgSVByb3BzIGV4dGVuZHMgSUF1ZGlvUGxheWVyQmFzZVByb3BzIHtcbiAgICBsYXlvdXQ/OiBQbGF5YmFja0xheW91dDsgLy8gRGVmYXVsdHMgdG8gVGltZWxpbmUgbGF5b3V0XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlY29yZGluZ1BsYXliYWNrIGV4dGVuZHMgQXVkaW9QbGF5ZXJCYXNlPElQcm9wcz4ge1xuICAgIC8vIFRoaXMgY29tcG9uZW50IGlzIHJlbmRlcmVkIGluIHR3byB3YXlzOiB0aGUgY29tcG9zZXIgYW5kIHRpbWVsaW5lLiBUaGV5IGhhdmUgZGlmZmVyZW50XG4gICAgLy8gcmVuZGVyaW5nIHByb3BlcnRpZXMgKHNwZWNpZmljYWxseSB0aGUgZGlmZmVyZW5jZSBvZiBhIHdhdmVmb3JtIG9yIG5vdCkuXG5cbiAgICBwcml2YXRlIHJlbmRlckNvbXBvc2VyTG9vaygpOiBSZWFjdE5vZGUge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8UGxheWJhY2tDbG9jayBwbGF5YmFjaz17dGhpcy5wcm9wcy5wbGF5YmFja30gLz5cbiAgICAgICAgICAgICAgICA8UGxheWJhY2tXYXZlZm9ybSBwbGF5YmFjaz17dGhpcy5wcm9wcy5wbGF5YmFja30gLz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyVGltZWxpbmVMb29rKCk6IFJlYWN0Tm9kZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfUmVjb3JkaW5nUGxheWJhY2tfdGltZWxpbmVMYXlvdXRNaWRkbGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPFBsYXliYWNrV2F2ZWZvcm0gcGxheWJhY2s9e3RoaXMucHJvcHMucGxheWJhY2t9IC8+XG4gICAgICAgICAgICAgICAgICAgIDxTZWVrQmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGF5YmFjaz17dGhpcy5wcm9wcy5wbGF5YmFja31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYkluZGV4PXswfSAvLyBhbGxvdyBrZXlib2FyZCB1c2VycyB0byBmYWxsIGludG8gdGhlIHNlZWsgYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5wbGF5YmFja1BoYXNlID09PSBQbGF5YmFja1N0YXRlLkRlY29kaW5nfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlZWtSZWZ9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPFBsYXliYWNrQ2xvY2sgcGxheWJhY2s9e3RoaXMucHJvcHMucGxheWJhY2t9IC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVuZGVyQ29tcG9uZW50KCk6IFJlYWN0Tm9kZSB7XG4gICAgICAgIGxldCBib2R5OiBSZWFjdE5vZGU7XG4gICAgICAgIHN3aXRjaCAodGhpcy5wcm9wcy5sYXlvdXQpIHtcbiAgICAgICAgICAgIGNhc2UgUGxheWJhY2tMYXlvdXQuQ29tcG9zZXI6XG4gICAgICAgICAgICAgICAgYm9keSA9IHRoaXMucmVuZGVyQ29tcG9zZXJMb29rKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFBsYXliYWNrTGF5b3V0LlRpbWVsaW5lOiAvLyBkZWZhdWx0IGlzIHRpbWVsaW5lLCBmYWxsIHRocm91Z2guXG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGJvZHkgPSB0aGlzLnJlbmRlclRpbWVsaW5lTG9vaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfTWVkaWFCb2R5IG14X1ZvaWNlTWVzc2FnZVByaW1hcnlDb250YWluZXJcIiBvbktleURvd249e3RoaXMub25LZXlEb3dufT5cbiAgICAgICAgICAgICAgICA8UGxheVBhdXNlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHBsYXliYWNrPXt0aGlzLnByb3BzLnBsYXliYWNrfVxuICAgICAgICAgICAgICAgICAgICBwbGF5YmFja1BoYXNlPXt0aGlzLnN0YXRlLnBsYXliYWNrUGhhc2V9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5wbGF5UGF1c2VSZWZ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB7Ym9keX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxjQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxnQkFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksUUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQWZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkEsSUFpQllPLGNBQWMsR0FBQUMsT0FBQSxDQUFBRCxjQUFBLDBCQUFkQSxjQUFjO0VBQWRBLGNBQWMsQ0FBZEEsY0FBYztFQUFkQSxjQUFjLENBQWRBLGNBQWM7RUFBQSxPQUFkQSxjQUFjO0FBQUE7QUFnQlgsTUFBTUUsaUJBQWlCLFNBQVNDLHdCQUFlLENBQVM7RUFDbkU7RUFDQTs7RUFFUUMsa0JBQWtCQSxDQUFBLEVBQWM7SUFDcEMsb0JBQ0liLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBLENBQUFmLE1BQUEsQ0FBQWMsT0FBQSxDQUFBRSxRQUFBLHFCQUNJaEIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1gsY0FBQSxDQUFBVSxPQUFhO01BQUNHLFFBQVEsRUFBRSxJQUFJLENBQUNDLEtBQUssQ0FBQ0Q7SUFBUyxDQUFFLENBQUMsZUFDaERqQixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDUixpQkFBQSxDQUFBTyxPQUFnQjtNQUFDRyxRQUFRLEVBQUUsSUFBSSxDQUFDQyxLQUFLLENBQUNEO0lBQVMsQ0FBRSxDQUNwRCxDQUFDO0VBRVg7RUFFUUUsa0JBQWtCQSxDQUFBLEVBQWM7SUFDcEMsb0JBQ0luQixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFBZixNQUFBLENBQUFjLE9BQUEsQ0FBQUUsUUFBQSxxQkFDSWhCLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBO01BQUtLLFNBQVMsRUFBQztJQUEyQyxnQkFDdERwQixNQUFBLENBQUFjLE9BQUEsQ0FBQUMsYUFBQSxDQUFDUixpQkFBQSxDQUFBTyxPQUFnQjtNQUFDRyxRQUFRLEVBQUUsSUFBSSxDQUFDQyxLQUFLLENBQUNEO0lBQVMsQ0FBRSxDQUFDLGVBQ25EakIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1QsUUFBQSxDQUFBUSxPQUFPO01BQ0pHLFFBQVEsRUFBRSxJQUFJLENBQUNDLEtBQUssQ0FBQ0QsUUFBUztNQUM5QkksUUFBUSxFQUFFLENBQUUsQ0FBQztNQUFBO01BQ2JDLFFBQVEsRUFBRSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsYUFBYSxLQUFLQyx1QkFBYSxDQUFDQyxRQUFTO01BQzlEQyxHQUFHLEVBQUUsSUFBSSxDQUFDQztJQUFRLENBQ3JCLENBQ0EsQ0FBQyxlQUNONUIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUEsQ0FBQ1gsY0FBQSxDQUFBVSxPQUFhO01BQUNHLFFBQVEsRUFBRSxJQUFJLENBQUNDLEtBQUssQ0FBQ0Q7SUFBUyxDQUFFLENBQ2pELENBQUM7RUFFWDtFQUVVWSxlQUFlQSxDQUFBLEVBQWM7SUFDbkMsSUFBSUMsSUFBZTtJQUNuQixRQUFRLElBQUksQ0FBQ1osS0FBSyxDQUFDYSxNQUFNO01BQ3JCLEtBQUt0QixjQUFjLENBQUN1QixRQUFRO1FBQ3hCRixJQUFJLEdBQUcsSUFBSSxDQUFDakIsa0JBQWtCLENBQUMsQ0FBQztRQUNoQztNQUNKLEtBQUtKLGNBQWMsQ0FBQ3dCLFFBQVEsQ0FBQyxDQUFDO01BQzlCO1FBQ0lILElBQUksR0FBRyxJQUFJLENBQUNYLGtCQUFrQixDQUFDLENBQUM7UUFDaEM7SUFDUjtJQUVBLG9CQUNJbkIsTUFBQSxDQUFBYyxPQUFBLENBQUFDLGFBQUE7TUFBS0ssU0FBUyxFQUFDLDhDQUE4QztNQUFDYyxTQUFTLEVBQUUsSUFBSSxDQUFDQTtJQUFVLGdCQUNwRmxDLE1BQUEsQ0FBQWMsT0FBQSxDQUFBQyxhQUFBLENBQUNaLGdCQUFBLENBQUFXLE9BQWU7TUFDWkcsUUFBUSxFQUFFLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxRQUFTO01BQzlCTyxhQUFhLEVBQUUsSUFBSSxDQUFDRCxLQUFLLENBQUNDLGFBQWM7TUFDeENHLEdBQUcsRUFBRSxJQUFJLENBQUNRO0lBQWEsQ0FDMUIsQ0FBQyxFQUNETCxJQUNBLENBQUM7RUFFZDtBQUNKO0FBQUNwQixPQUFBLENBQUFJLE9BQUEsR0FBQUgsaUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=