UNPKG

matrix-react-sdk

Version:
55 lines (51 loc) 8.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SessionDuration = exports.CallDuration = void 0; var _react = _interopRequireWildcard(require("react")); var _DateUtils = require("../../../DateUtils"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 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. */ /** * A call duration counter. */ const CallDuration = exports.CallDuration = /*#__PURE__*/(0, _react.memo)(({ delta }) => { // Clock desync could lead to a negative duration, so just hide it if that happens if (delta <= 0) return null; return /*#__PURE__*/_react.default.createElement("div", { className: "mx_CallDuration" }, (0, _DateUtils.formatPreciseDuration)(delta)); }); /** * A call duration counter that automatically counts up, given a matrixRTC session * object. */ const SessionDuration = ({ session }) => { const [now, setNow] = (0, _react.useState)(() => Date.now()); (0, _react.useEffect)(() => { const timer = window.setInterval(() => setNow(Date.now()), 1000); return () => clearInterval(timer); }, []); // This is a temporal solution. // Using the oldest membership will update when this user leaves. // This implies that the displayed call duration will also update consequently. const createdTs = session?.getOldestMembership()?.createdTs(); return createdTs ? /*#__PURE__*/_react.default.createElement(CallDuration, { delta: now - createdTs }) : /*#__PURE__*/_react.default.createElement(CallDuration, { delta: 0 }); }; exports.SessionDuration = SessionDuration; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfRGF0ZVV0aWxzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQ2FsbER1cmF0aW9uIiwiZXhwb3J0cyIsIm1lbW8iLCJkZWx0YSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJmb3JtYXRQcmVjaXNlRHVyYXRpb24iLCJTZXNzaW9uRHVyYXRpb24iLCJzZXNzaW9uIiwibm93Iiwic2V0Tm93IiwidXNlU3RhdGUiLCJEYXRlIiwidXNlRWZmZWN0IiwidGltZXIiLCJ3aW5kb3ciLCJzZXRJbnRlcnZhbCIsImNsZWFySW50ZXJ2YWwiLCJjcmVhdGVkVHMiLCJnZXRPbGRlc3RNZW1iZXJzaGlwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3Mvdm9pcC9DYWxsRHVyYXRpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIyIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTWF0cml4UlRDU2Vzc2lvbiB9IGZyb20gXCJtYXRyaXgtanMtc2RrL3NyYy9tYXRyaXhydGNcIjtcblxuaW1wb3J0IHsgZm9ybWF0UHJlY2lzZUR1cmF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL0RhdGVVdGlsc1wiO1xuXG5pbnRlcmZhY2UgQ2FsbER1cmF0aW9uUHJvcHMge1xuICAgIGRlbHRhOiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBjYWxsIGR1cmF0aW9uIGNvdW50ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBDYWxsRHVyYXRpb246IEZDPENhbGxEdXJhdGlvblByb3BzPiA9IG1lbW8oKHsgZGVsdGEgfSkgPT4ge1xuICAgIC8vIENsb2NrIGRlc3luYyBjb3VsZCBsZWFkIHRvIGEgbmVnYXRpdmUgZHVyYXRpb24sIHNvIGp1c3QgaGlkZSBpdCBpZiB0aGF0IGhhcHBlbnNcbiAgICBpZiAoZGVsdGEgPD0gMCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwibXhfQ2FsbER1cmF0aW9uXCI+e2Zvcm1hdFByZWNpc2VEdXJhdGlvbihkZWx0YSl9PC9kaXY+O1xufSk7XG5cbmludGVyZmFjZSBTZXNzaW9uRHVyYXRpb25Qcm9wcyB7XG4gICAgc2Vzc2lvbjogTWF0cml4UlRDU2Vzc2lvbiB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBIGNhbGwgZHVyYXRpb24gY291bnRlciB0aGF0IGF1dG9tYXRpY2FsbHkgY291bnRzIHVwLCBnaXZlbiBhIG1hdHJpeFJUQyBzZXNzaW9uXG4gKiBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBTZXNzaW9uRHVyYXRpb246IEZDPFNlc3Npb25EdXJhdGlvblByb3BzPiA9ICh7IHNlc3Npb24gfSkgPT4ge1xuICAgIGNvbnN0IFtub3csIHNldE5vd10gPSB1c2VTdGF0ZSgoKSA9PiBEYXRlLm5vdygpKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpbWVyID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHNldE5vdyhEYXRlLm5vdygpKSwgMTAwMCk7XG4gICAgICAgIHJldHVybiAoKSA9PiBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgICB9LCBbXSk7XG5cbiAgICAvLyBUaGlzIGlzIGEgdGVtcG9yYWwgc29sdXRpb24uXG4gICAgLy8gVXNpbmcgdGhlIG9sZGVzdCBtZW1iZXJzaGlwIHdpbGwgdXBkYXRlIHdoZW4gdGhpcyB1c2VyIGxlYXZlcy5cbiAgICAvLyBUaGlzIGltcGxpZXMgdGhhdCB0aGUgZGlzcGxheWVkIGNhbGwgZHVyYXRpb24gd2lsbCBhbHNvIHVwZGF0ZSBjb25zZXF1ZW50bHkuXG4gICAgY29uc3QgY3JlYXRlZFRzID0gc2Vzc2lvbj8uZ2V0T2xkZXN0TWVtYmVyc2hpcCgpPy5jcmVhdGVkVHMoKTtcbiAgICByZXR1cm4gY3JlYXRlZFRzID8gPENhbGxEdXJhdGlvbiBkZWx0YT17bm93IC0gY3JlYXRlZFRzfSAvPiA6IDxDYWxsRHVyYXRpb24gZGVsdGE9ezB9IC8+O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQTJELFNBQUFFLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFKLHdCQUFBSSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsdUJBQUFBLENBQUEseUJBQUFBLENBQUEsV0FBQUssT0FBQSxFQUFBTCxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FB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