matrix-react-sdk
Version:
SDK for matrix.org using React
78 lines (75 loc) • 12.2 kB
JavaScript
;
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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