matrix-react-sdk
Version:
SDK for matrix.org using React
70 lines (66 loc) • 7.95 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DEFAULT_DURATION_MS = void 0;
var _react = _interopRequireDefault(require("react"));
var _DateUtils = require("../../../DateUtils");
var _languageHandler = require("../../../languageHandler");
var _Dropdown = _interopRequireDefault(require("../elements/Dropdown"));
/*
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.
*/
const DURATION_MS = {
fifteenMins: 900000,
oneHour: 3600000,
eightHours: 28800000
};
const DEFAULT_DURATION_MS = exports.DEFAULT_DURATION_MS = DURATION_MS.fifteenMins;
const getLabel = durationMs => {
return (0, _languageHandler._t)("location_sharing|live_share_button", {
duration: (0, _DateUtils.formatDuration)(durationMs)
});
};
const LiveDurationDropdown = ({
timeout,
onChange
}) => {
const options = Object.values(DURATION_MS).map(duration => ({
key: duration.toString(),
duration,
label: getLabel(duration)
}));
// timeout is not one of our default values
// eg it was set by another client
if (!Object.values(DURATION_MS).includes(timeout)) {
options.push({
key: timeout.toString(),
duration: timeout,
label: getLabel(timeout)
});
}
const onOptionChange = key => {
// stringified value back to number
onChange(+key);
};
return /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
id: "live-duration",
"data-testid": "live-duration-dropdown",
label: getLabel(timeout),
value: timeout.toString(),
onOptionChange: onOptionChange,
className: "mx_LiveDurationDropdown"
}, options.map(({
key,
label
}) => /*#__PURE__*/_react.default.createElement("div", {
"data-testid": `live-duration-option-${key}`,
key: key
}, label)));
};
var _default = exports.default = LiveDurationDropdown;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9EYXRlVXRpbHMiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX0Ryb3Bkb3duIiwiRFVSQVRJT05fTVMiLCJmaWZ0ZWVuTWlucyIsIm9uZUhvdXIiLCJlaWdodEhvdXJzIiwiREVGQVVMVF9EVVJBVElPTl9NUyIsImV4cG9ydHMiLCJnZXRMYWJlbCIsImR1cmF0aW9uTXMiLCJfdCIsImR1cmF0aW9uIiwiZm9ybWF0RHVyYXRpb24iLCJMaXZlRHVyYXRpb25Ecm9wZG93biIsInRpbWVvdXQiLCJvbkNoYW5nZSIsIm9wdGlvbnMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJtYXAiLCJrZXkiLCJ0b1N0cmluZyIsImxhYmVsIiwiaW5jbHVkZXMiLCJwdXNoIiwib25PcHRpb25DaGFuZ2UiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsImlkIiwidmFsdWUiLCJjbGFzc05hbWUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2xvY2F0aW9uL0xpdmVEdXJhdGlvbkRyb3Bkb3duLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3RFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IGZvcm1hdER1cmF0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL0RhdGVVdGlsc1wiO1xuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSBcIi4uL2VsZW1lbnRzL0Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBOb25FbXB0eUFycmF5IH0gZnJvbSBcIi4uLy4uLy4uL0B0eXBlcy9jb21tb25cIjtcblxuY29uc3QgRFVSQVRJT05fTVMgPSB7XG4gICAgZmlmdGVlbk1pbnM6IDkwMDAwMCxcbiAgICBvbmVIb3VyOiAzNjAwMDAwLFxuICAgIGVpZ2h0SG91cnM6IDI4ODAwMDAwLFxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRFVSQVRJT05fTVMgPSBEVVJBVElPTl9NUy5maWZ0ZWVuTWlucztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgICB0aW1lb3V0OiBudW1iZXI7XG4gICAgb25DaGFuZ2U6ICh0aW1lb3V0OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmNvbnN0IGdldExhYmVsID0gKGR1cmF0aW9uTXM6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIF90KFwibG9jYXRpb25fc2hhcmluZ3xsaXZlX3NoYXJlX2J1dHRvblwiLCB7IGR1cmF0aW9uOiBmb3JtYXREdXJhdGlvbihkdXJhdGlvbk1zKSB9KTtcbn07XG5cbmNvbnN0IExpdmVEdXJhdGlvbkRyb3Bkb3duOiBSZWFjdC5GQzxQcm9wcz4gPSAoeyB0aW1lb3V0LCBvbkNoYW5nZSB9KSA9PiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC52YWx1ZXMoRFVSQVRJT05fTVMpLm1hcCgoZHVyYXRpb24pID0+ICh7XG4gICAgICAgIGtleTogZHVyYXRpb24udG9TdHJpbmcoKSxcbiAgICAgICAgZHVyYXRpb24sXG4gICAgICAgIGxhYmVsOiBnZXRMYWJlbChkdXJhdGlvbiksXG4gICAgfSkpO1xuXG4gICAgLy8gdGltZW91dCBpcyBub3Qgb25lIG9mIG91ciBkZWZhdWx0IHZhbHVlc1xuICAgIC8vIGVnIGl0IHdhcyBzZXQgYnkgYW5vdGhlciBjbGllbnRcbiAgICBpZiAoIU9iamVjdC52YWx1ZXMoRFVSQVRJT05fTVMpLmluY2x1ZGVzKHRpbWVvdXQpKSB7XG4gICAgICAgIG9wdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6IHRpbWVvdXQudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGR1cmF0aW9uOiB0aW1lb3V0LFxuICAgICAgICAgICAgbGFiZWw6IGdldExhYmVsKHRpbWVvdXQpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBvbk9wdGlvbkNoYW5nZSA9IChrZXk6IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgICAgICAvLyBzdHJpbmdpZmllZCB2YWx1ZSBiYWNrIHRvIG51bWJlclxuICAgICAgICBvbkNoYW5nZSgra2V5KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPERyb3Bkb3duXG4gICAgICAgICAgICBpZD1cImxpdmUtZHVyYXRpb25cIlxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJsaXZlLWR1cmF0aW9uLWRyb3Bkb3duXCJcbiAgICAgICAgICAgIGxhYmVsPXtnZXRMYWJlbCh0aW1lb3V0KX1cbiAgICAgICAgICAgIHZhbHVlPXt0aW1lb3V0LnRvU3RyaW5nKCl9XG4gICAgICAgICAgICBvbk9wdGlvbkNoYW5nZT17b25PcHRpb25DaGFuZ2V9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJteF9MaXZlRHVyYXRpb25Ecm9wZG93blwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zLm1hcCgoeyBrZXksIGxhYmVsIH0pID0+IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBkYXRhLXRlc3RpZD17YGxpdmUtZHVyYXRpb24tb3B0aW9uLSR7a2V5fWB9IGtleT17a2V5fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSkgYXMgTm9uRW1wdHlBcnJheTxSZWFjdEVsZW1lbnQgJiB7IGtleTogc3RyaW5nIH0+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvRHJvcGRvd24+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVEdXJhdGlvbkRyb3Bkb3duO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBLE1BQU1JLFdBQVcsR0FBRztFQUNoQkMsV0FBVyxFQUFFLE1BQU07RUFDbkJDLE9BQU8sRUFBRSxPQUFPO0VBQ2hCQyxVQUFVLEVBQUU7QUFDaEIsQ0FBQztBQUVNLE1BQU1DLG1CQUFtQixHQUFBQyxPQUFBLENBQUFELG1CQUFBLEdBQUdKLFdBQVcsQ0FBQ0MsV0FBVztBQU8xRCxNQUFNSyxRQUFRLEdBQUlDLFVBQWtCLElBQWE7RUFDN0MsT0FBTyxJQUFBQyxtQkFBRSxFQUFDLG9DQUFvQyxFQUFFO0lBQUVDLFFBQVEsRUFBRSxJQUFBQyx5QkFBYyxFQUFDSCxVQUFVO0VBQUUsQ0FBQyxDQUFDO0FBQzdGLENBQUM7QUFFRCxNQUFNSSxvQkFBcUMsR0FBR0EsQ0FBQztFQUFFQyxPQUFPO0VBQUVDO0FBQVMsQ0FBQyxLQUFLO0VBQ3JFLE1BQU1DLE9BQU8sR0FBR0MsTUFBTSxDQUFDQyxNQUFNLENBQUNoQixXQUFXLENBQUMsQ0FBQ2lCLEdBQUcsQ0FBRVIsUUFBUSxLQUFNO0lBQzFEUyxHQUFHLEVBQUVULFFBQVEsQ0FBQ1UsUUFBUSxDQUFDLENBQUM7SUFDeEJWLFFBQVE7SUFDUlcsS0FBSyxFQUFFZCxRQUFRLENBQUNHLFFBQVE7RUFDNUIsQ0FBQyxDQUFDLENBQUM7O0VBRUg7RUFDQTtFQUNBLElBQUksQ0FBQ00sTUFBTSxDQUFDQyxNQUFNLENBQUNoQixXQUFXLENBQUMsQ0FBQ3FCLFFBQVEsQ0FBQ1QsT0FBTyxDQUFDLEVBQUU7SUFDL0NFLE9BQU8sQ0FBQ1EsSUFBSSxDQUFDO01BQ1RKLEdBQUcsRUFBRU4sT0FBTyxDQUFDTyxRQUFRLENBQUMsQ0FBQztNQUN2QlYsUUFBUSxFQUFFRyxPQUFPO01BQ2pCUSxLQUFLLEVBQUVkLFFBQVEsQ0FBQ00sT0FBTztJQUMzQixDQUFDLENBQUM7RUFDTjtFQUVBLE1BQU1XLGNBQWMsR0FBSUwsR0FBVyxJQUFXO0lBQzFDO0lBQ0FMLFFBQVEsQ0FBQyxDQUFDSyxHQUFHLENBQUM7RUFDbEIsQ0FBQztFQUVELG9CQUNJeEIsTUFBQSxDQUFBOEIsT0FBQSxDQUFBQyxhQUFBLENBQUMxQixTQUFBLENBQUF5QixPQUFRO0lBQ0xFLEVBQUUsRUFBQyxlQUFlO0lBQ2xCLGVBQVksd0JBQXdCO0lBQ3BDTixLQUFLLEVBQUVkLFFBQVEsQ0FBQ00sT0FBTyxDQUFFO0lBQ3pCZSxLQUFLLEVBQUVmLE9BQU8sQ0FBQ08sUUFBUSxDQUFDLENBQUU7SUFDMUJJLGNBQWMsRUFBRUEsY0FBZTtJQUMvQkssU0FBUyxFQUFDO0VBQXlCLEdBRy9CZCxPQUFPLENBQUNHLEdBQUcsQ0FBQyxDQUFDO0lBQUVDLEdBQUc7SUFBRUU7RUFBTSxDQUFDLGtCQUN2QjFCLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQUMsYUFBQTtJQUFLLGVBQWEsd0JBQXdCUCxHQUFHLEVBQUc7SUFBQ0EsR0FBRyxFQUFFQTtFQUFJLEdBQ3JERSxLQUNBLENBQ1IsQ0FFQyxDQUFDO0FBRW5CLENBQUM7QUFBQyxJQUFBUyxRQUFBLEdBQUF4QixPQUFBLENBQUFtQixPQUFBLEdBRWFiLG9CQUFvQiIsImlnbm9yZUxpc3QiOltdfQ==