UNPKG

matrix-react-sdk

Version:
78 lines (75 loc) 12.2 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 _react = _interopRequireDefault(require("react")); var _languageHandler = require("../../../languageHandler"); var _beacon = require("../../../utils/beacon"); var _NativeEventUtils = require("../../../utils/NativeEventUtils"); var _BeaconStatus = _interopRequireDefault(require("./BeaconStatus")); var _displayStatus = require("./displayStatus"); var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton")); const _excluded = ["beacon", "displayStatus"]; /* 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. */ /** * Wraps BeaconStatus with more capabilities * for errors and actions available for users own live beacons */ const OwnBeaconStatus = _ref => { let { beacon, displayStatus } = _ref, rest = (0, _objectWithoutProperties2.default)(_ref, _excluded); const { hasLocationPublishError, hasStopSharingError, stoppingInProgress, onStopSharing, onResetLocationPublishError } = (0, _beacon.useOwnLiveBeacons)(beacon?.identifier ? [beacon?.identifier] : []); // combine display status with errors that only occur for user's own beacons const ownDisplayStatus = hasLocationPublishError || hasStopSharingError ? _displayStatus.BeaconDisplayStatus.Error : displayStatus; return /*#__PURE__*/_react.default.createElement(_BeaconStatus.default, (0, _extends2.default)({ beacon: beacon, displayStatus: ownDisplayStatus, label: (0, _languageHandler._t)("location_sharing|live_location_enabled"), displayLiveTimeRemaining: true }, rest), ownDisplayStatus === _displayStatus.BeaconDisplayStatus.Active && /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { "data-testid": "beacon-status-stop-beacon", kind: "link" // eat events here to avoid 1) the map and 2) reply or thread tiles // moving under the beacon status on stop/retry click , onClick: (0, _NativeEventUtils.preventDefaultWrapper)(onStopSharing), className: "mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton", disabled: stoppingInProgress }, (0, _languageHandler._t)("action|stop")), hasLocationPublishError && /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { "data-testid": "beacon-status-reset-wire-error", kind: "link" // eat events here to avoid 1) the map and 2) reply or thread tiles // moving under the beacon status on stop/retry click , onClick: (0, _NativeEventUtils.preventDefaultWrapper)(onResetLocationPublishError), className: "mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton" }, (0, _languageHandler._t)("action|retry")), hasStopSharingError && /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { "data-testid": "beacon-status-stop-beacon-retry", kind: "link" // eat events here to avoid 1) the map and 2) reply or thread tiles // moving under the beacon status on stop/retry click , onClick: (0, _NativeEventUtils.preventDefaultWrapper)(onStopSharing), className: "mx_OwnBeaconStatus_button mx_OwnBeaconStatus_destructiveButton" }, (0, _languageHandler._t)("action|retry"))); }; var _default = exports.default = OwnBeaconStatus; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfYmVhY29uIiwiX05hdGl2ZUV2ZW50VXRpbHMiLCJfQmVhY29uU3RhdHVzIiwiX2Rpc3BsYXlTdGF0dXMiLCJfQWNjZXNzaWJsZUJ1dHRvbiIsIl9leGNsdWRlZCIsIk93bkJlYWNvblN0YXR1cyIsIl9yZWYiLCJiZWFjb24iLCJkaXNwbGF5U3RhdHVzIiwicmVzdCIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJkZWZhdWx0IiwiaGFzTG9jYXRpb25QdWJsaXNoRXJyb3IiLCJoYXNTdG9wU2hhcmluZ0Vycm9yIiwic3RvcHBpbmdJblByb2dyZXNzIiwib25TdG9wU2hhcmluZyIsIm9uUmVzZXRMb2NhdGlvblB1Ymxpc2hFcnJvciIsInVzZU93bkxpdmVCZWFjb25zIiwiaWRlbnRpZmllciIsIm93bkRpc3BsYXlTdGF0dXMiLCJCZWFjb25EaXNwbGF5U3RhdHVzIiwiRXJyb3IiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwibGFiZWwiLCJfdCIsImRpc3BsYXlMaXZlVGltZVJlbWFpbmluZyIsIkFjdGl2ZSIsImtpbmQiLCJvbkNsaWNrIiwicHJldmVudERlZmF1bHRXcmFwcGVyIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy92aWV3cy9iZWFjb24vT3duQmVhY29uU3RhdHVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBCZWFjb24gfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5pbXBvcnQgUmVhY3QsIHsgSFRNTFByb3BzIH0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgdXNlT3duTGl2ZUJlYWNvbnMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvYmVhY29uXCI7XG5pbXBvcnQgeyBwcmV2ZW50RGVmYXVsdFdyYXBwZXIgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvTmF0aXZlRXZlbnRVdGlsc1wiO1xuaW1wb3J0IEJlYWNvblN0YXR1cyBmcm9tIFwiLi9CZWFjb25TdGF0dXNcIjtcbmltcG9ydCB7IEJlYWNvbkRpc3BsYXlTdGF0dXMgfSBmcm9tIFwiLi9kaXNwbGF5U3RhdHVzXCI7XG5pbXBvcnQgQWNjZXNzaWJsZUJ1dHRvbiwgeyBCdXR0b25FdmVudCB9IGZyb20gXCIuLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gICAgZGlzcGxheVN0YXR1czogQmVhY29uRGlzcGxheVN0YXR1cztcbiAgICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gICAgYmVhY29uPzogQmVhY29uO1xuICAgIHdpdGhJY29uPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBXcmFwcyBCZWFjb25TdGF0dXMgd2l0aCBtb3JlIGNhcGFiaWxpdGllc1xuICogZm9yIGVycm9ycyBhbmQgYWN0aW9ucyBhdmFpbGFibGUgZm9yIHVzZXJzIG93biBsaXZlIGJlYWNvbnNcbiAqL1xuY29uc3QgT3duQmVhY29uU3RhdHVzOiBSZWFjdC5GQzxQcm9wcyAmIEhUTUxQcm9wczxIVE1MRGl2RWxlbWVudD4+ID0gKHsgYmVhY29uLCBkaXNwbGF5U3RhdHVzLCAuLi5yZXN0IH0pID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGhhc0xvY2F0aW9uUHVibGlzaEVycm9yLFxuICAgICAgICBoYXNTdG9wU2hhcmluZ0Vycm9yLFxuICAgICAgICBzdG9wcGluZ0luUHJvZ3Jlc3MsXG4gICAgICAgIG9uU3RvcFNoYXJpbmcsXG4gICAgICAgIG9uUmVzZXRMb2NhdGlvblB1Ymxpc2hFcnJvcixcbiAgICB9ID0gdXNlT3duTGl2ZUJlYWNvbnMoYmVhY29uPy5pZGVudGlmaWVyID8gW2JlYWNvbj8uaWRlbnRpZmllcl0gOiBbXSk7XG5cbiAgICAvLyBjb21iaW5lIGRpc3BsYXkgc3RhdHVzIHdpdGggZXJyb3JzIHRoYXQgb25seSBvY2N1ciBmb3IgdXNlcidzIG93biBiZWFjb25zXG4gICAgY29uc3Qgb3duRGlzcGxheVN0YXR1cyA9IGhhc0xvY2F0aW9uUHVibGlzaEVycm9yIHx8IGhhc1N0b3BTaGFyaW5nRXJyb3IgPyBCZWFjb25EaXNwbGF5U3RhdHVzLkVycm9yIDogZGlzcGxheVN0YXR1cztcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxCZWFjb25TdGF0dXNcbiAgICAgICAgICAgIGJlYWNvbj17YmVhY29ufVxuICAgICAgICAgICAgZGlzcGxheVN0YXR1cz17b3duRGlzcGxheVN0YXR1c31cbiAgICAgICAgICAgIGxhYmVsPXtfdChcImxvY2F0aW9uX3NoYXJpbmd8bGl2ZV9sb2NhdGlvbl9lbmFibGVkXCIpfVxuICAgICAgICAgICAgZGlzcGxheUxpdmVUaW1lUmVtYWluaW5nXG4gICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgPlxuICAgICAgICAgICAge293bkRpc3BsYXlTdGF0dXMgPT09IEJlYWNvbkRpc3BsYXlTdGF0dXMuQWN0aXZlICYmIChcbiAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJlYWNvbi1zdGF0dXMtc3RvcC1iZWFjb25cIlxuICAgICAgICAgICAgICAgICAgICBraW5kPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgIC8vIGVhdCBldmVudHMgaGVyZSB0byBhdm9pZCAxKSB0aGUgbWFwIGFuZCAyKSByZXBseSBvciB0aHJlYWQgdGlsZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gbW92aW5nIHVuZGVyIHRoZSBiZWFjb24gc3RhdHVzIG9uIHN0b3AvcmV0cnkgY2xpY2tcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJldmVudERlZmF1bHRXcmFwcGVyPEJ1dHRvbkV2ZW50PihvblN0b3BTaGFyaW5nKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfT3duQmVhY29uU3RhdHVzX2J1dHRvbiBteF9Pd25CZWFjb25TdGF0dXNfZGVzdHJ1Y3RpdmVCdXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c3RvcHBpbmdJblByb2dyZXNzfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge190KFwiYWN0aW9ufHN0b3BcIil9XG4gICAgICAgICAgICAgICAgPC9BY2Nlc3NpYmxlQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtoYXNMb2NhdGlvblB1Ymxpc2hFcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPEFjY2Vzc2libGVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJiZWFjb24tc3RhdHVzLXJlc2V0LXdpcmUtZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBraW5kPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgIC8vIGVhdCBldmVudHMgaGVyZSB0byBhdm9pZCAxKSB0aGUgbWFwIGFuZCAyKSByZXBseSBvciB0aHJlYWQgdGlsZXNcbiAgICAgICAgICAgICAgICAgICAgLy8gbW92aW5nIHVuZGVyIHRoZSBiZWFjb24gc3RhdHVzIG9uIHN0b3AvcmV0cnkgY2xpY2tcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17cHJldmVudERlZmF1bHRXcmFwcGVyKG9uUmVzZXRMb2NhdGlvblB1Ymxpc2hFcnJvcil9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X093bkJlYWNvblN0YXR1c19idXR0b24gbXhfT3duQmVhY29uU3RhdHVzX2Rlc3RydWN0aXZlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtfdChcImFjdGlvbnxyZXRyeVwiKX1cbiAgICAgICAgICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2hhc1N0b3BTaGFyaW5nRXJyb3IgJiYgKFxuICAgICAgICAgICAgICAgIDxBY2Nlc3NpYmxlQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYmVhY29uLXN0YXR1cy1zdG9wLWJlYWNvbi1yZXRyeVwiXG4gICAgICAgICAgICAgICAgICAgIGtpbmQ9XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgLy8gZWF0IGV2ZW50cyBoZXJlIHRvIGF2b2lkIDEpIHRoZSBtYXAgYW5kIDIpIHJlcGx5IG9yIHRocmVhZCB0aWxlc1xuICAgICAgICAgICAgICAgICAgICAvLyBtb3ZpbmcgdW5kZXIgdGhlIGJlYWNvbiBzdGF0dXMgb24gc3RvcC9yZXRyeSBjbGlja1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcmV2ZW50RGVmYXVsdFdyYXBwZXIob25TdG9wU2hhcmluZyl9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm14X093bkJlYWNvblN0YXR1c19idXR0b24gbXhfT3duQmVhY29uU3RhdHVzX2Rlc3RydWN0aXZlQnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtfdChcImFjdGlvbnxyZXRyeVwiKX1cbiAgICAgICAgICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+XG4gICAgICAgICAgICApfVxuICAgICAgICA8L0JlYWNvblN0YXR1cz5cbiAgICApO1xu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