UNPKG

matrix-react-sdk

Version:
82 lines (80 loc) 14.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireWildcard(require("react")); var _BasePlatform = require("../../../BasePlatform"); var _PlatformPeg = _interopRequireDefault(require("../../../PlatformPeg")); var _useDispatcher = require("../../../hooks/useDispatcher"); var _dispatcher = _interopRequireDefault(require("../../../dispatcher/dispatcher")); var _actions = require("../../../dispatcher/actions"); var _languageHandler = require("../../../languageHandler"); var _InlineSpinner = _interopRequireDefault(require("../../../components/views/elements/InlineSpinner")); var _AccessibleButton = _interopRequireDefault(require("../../../components/views/elements/AccessibleButton")); const _excluded = ["action"]; /* Copyright 2024 New Vector Ltd. Copyright 2020 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. */ 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; } function installUpdate() { _PlatformPeg.default.get()?.installUpdate(); } function getStatusText(status, errorDetail) { switch (status) { case _BasePlatform.UpdateCheckStatus.Error: return (0, _languageHandler._t)("update|error_encountered", { errorDetail }); case _BasePlatform.UpdateCheckStatus.Checking: return (0, _languageHandler._t)("update|checking"); case _BasePlatform.UpdateCheckStatus.NotAvailable: return (0, _languageHandler._t)("update|no_update"); case _BasePlatform.UpdateCheckStatus.Downloading: return (0, _languageHandler._t)("update|downloading"); case _BasePlatform.UpdateCheckStatus.Ready: return (0, _languageHandler._t)("update|new_version_available", {}, { a: sub => /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { kind: "link_inline", onClick: installUpdate }, sub) }); } } const doneStatuses = [_BasePlatform.UpdateCheckStatus.Ready, _BasePlatform.UpdateCheckStatus.Error, _BasePlatform.UpdateCheckStatus.NotAvailable]; const UpdateCheckButton = () => { const [state, setState] = (0, _react.useState)(null); const onCheckForUpdateClick = () => { setState(null); _PlatformPeg.default.get()?.startUpdateCheck(); }; (0, _useDispatcher.useDispatcher)(_dispatcher.default, _ref => { let { action } = _ref, params = (0, _objectWithoutProperties2.default)(_ref, _excluded); if (action === _actions.Action.CheckUpdates) { setState(params); } }); const busy = !!state && !doneStatuses.includes(state.status); let suffix; if (state) { suffix = /*#__PURE__*/_react.default.createElement("span", { className: "mx_UpdateCheckButton_summary" }, getStatusText(state.status, state.detail), busy && /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, null)); } return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: onCheckForUpdateClick, kind: "primary_outline", disabled: busy }, (0, _languageHandler._t)("update|check_action")), suffix); }; var _default = exports.default = UpdateCheckButton; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQmFzZVBsYXRmb3JtIiwiX1BsYXRmb3JtUGVnIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VEaXNwYXRjaGVyIiwiX2Rpc3BhdGNoZXIiLCJfYWN0aW9ucyIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfSW5saW5lU3Bpbm5lciIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX2V4Y2x1ZGVkIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiaW5zdGFsbFVwZGF0ZSIsIlBsYXRmb3JtUGVnIiwiZ2V0U3RhdHVzVGV4dCIsInN0YXR1cyIsImVycm9yRGV0YWlsIiwiVXBkYXRlQ2hlY2tTdGF0dXMiLCJFcnJvciIsIl90IiwiQ2hlY2tpbmciLCJOb3RBdmFpbGFibGUiLCJEb3dubG9hZGluZyIsIlJlYWR5Iiwic3ViIiwiY3JlYXRlRWxlbWVudCIsImtpbmQiLCJvbkNsaWNrIiwiZG9uZVN0YXR1c2VzIiwiVXBkYXRlQ2hlY2tCdXR0b24iLCJzdGF0ZSIsInNldFN0YXRlIiwidXNlU3RhdGUiLCJvbkNoZWNrRm9yVXBkYXRlQ2xpY2siLCJzdGFydFVwZGF0ZUNoZWNrIiwidXNlRGlzcGF0Y2hlciIsImRpcyIsIl9yZWYiLCJhY3Rpb24iLCJwYXJhbXMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiQWN0aW9uIiwiQ2hlY2tVcGRhdGVzIiwiYnVzeSIsImluY2x1ZGVzIiwic3VmZml4IiwiY2xhc3NOYW1lIiwiZGV0YWlsIiwiRnJhZ21lbnQiLCJkaXNhYmxlZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL3NldHRpbmdzL1VwZGF0ZUNoZWNrQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBVcGRhdGVDaGVja1N0YXR1cyB9IGZyb20gXCIuLi8uLi8uLi9CYXNlUGxhdGZvcm1cIjtcbmltcG9ydCBQbGF0Zm9ybVBlZyBmcm9tIFwiLi4vLi4vLi4vUGxhdGZvcm1QZWdcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoZXIgfSBmcm9tIFwiLi4vLi4vLi4vaG9va3MvdXNlRGlzcGF0Y2hlclwiO1xuaW1wb3J0IGRpcyBmcm9tIFwiLi4vLi4vLi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vZGlzcGF0Y2hlci9hY3Rpb25zXCI7XG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBJbmxpbmVTcGlubmVyIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0lubGluZVNwaW5uZXJcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3ZpZXdzL2VsZW1lbnRzL0FjY2Vzc2libGVCdXR0b25cIjtcbmltcG9ydCB7IENoZWNrVXBkYXRlc1BheWxvYWQgfSBmcm9tIFwiLi4vLi4vLi4vZGlzcGF0Y2hlci9wYXlsb2Fkcy9DaGVja1VwZGF0ZXNQYXlsb2FkXCI7XG5cbmZ1bmN0aW9uIGluc3RhbGxVcGRhdGUoKTogdm9pZCB7XG4gICAgUGxhdGZvcm1QZWcuZ2V0KCk/Lmluc3RhbGxVcGRhdGUoKTtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhdHVzVGV4dChzdGF0dXM6IFVwZGF0ZUNoZWNrU3RhdHVzLCBlcnJvckRldGFpbD86IHN0cmluZyk6IFJlYWN0Tm9kZSB7XG4gICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgY2FzZSBVcGRhdGVDaGVja1N0YXR1cy5FcnJvcjpcbiAgICAgICAgICAgIHJldHVybiBfdChcInVwZGF0ZXxlcnJvcl9lbmNvdW50ZXJlZFwiLCB7IGVycm9yRGV0YWlsIH0pO1xuICAgICAgICBjYXNlIFVwZGF0ZUNoZWNrU3RhdHVzLkNoZWNraW5nOlxuICAgICAgICAgICAgcmV0dXJuIF90KFwidXBkYXRlfGNoZWNraW5nXCIpO1xuICAgICAgICBjYXNlIFVwZGF0ZUNoZWNrU3RhdHVzLk5vdEF2YWlsYWJsZTpcbiAgICAgICAgICAgIHJldHVybiBfdChcInVwZGF0ZXxub191cGRhdGVcIik7XG4gICAgICAgIGNhc2UgVXBkYXRlQ2hlY2tTdGF0dXMuRG93bmxvYWRpbmc6XG4gICAgICAgICAgICByZXR1cm4gX3QoXCJ1cGRhdGV8ZG93bmxvYWRpbmdcIik7XG4gICAgICAgIGNhc2UgVXBkYXRlQ2hlY2tTdGF0dXMuUmVhZHk6XG4gICAgICAgICAgICByZXR1cm4gX3QoXG4gICAgICAgICAgICAgICAgXCJ1cGRhdGV8bmV3X3ZlcnNpb25fYXZhaWxhYmxlXCIsXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBhOiAoc3ViKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvbiBraW5kPVwibGlua19pbmxpbmVcIiBvbkNsaWNrPXtpbnN0YWxsVXBkYXRlfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3VifVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9BY2Nlc3NpYmxlQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApO1xuICAgIH1cbn1cblxuY29uc3QgZG9uZVN0YXR1c2VzID0gW1VwZGF0ZUNoZWNrU3RhdHVzLlJlYWR5LCBVcGRhdGVDaGVja1N0YXR1cy5FcnJvciwgVXBkYXRlQ2hlY2tTdGF0dXMuTm90QXZhaWxhYmxlXTtcblxuY29uc3QgVXBkYXRlQ2hlY2tCdXR0b246IFJlYWN0LkZDID0gKCkgPT4ge1xuICAgIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gdXNlU3RhdGU8Q2hlY2tVcGRhdGVzUGF5bG9hZCB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3Qgb25DaGVja0ZvclVwZGF0ZUNsaWNrID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBzZXRTdGF0ZShudWxsKTtcbiAgICAgICAgUGxhdGZvcm1QZWcuZ2V0KCk/LnN0YXJ0VXBkYXRlQ2hlY2soKTtcbiAgICB9O1xuXG4gICAgdXNlRGlzcGF0Y2hlcihkaXMsICh7IGFjdGlvbiwgLi4ucGFyYW1zIH0pID0+IHtcbiAgICAgICAgaWYgKGFjdGlvbiA9PT0gQWN0aW9uLkNoZWNrVXBkYXRlcykge1xuICAgICAgICAgICAgc2V0U3RhdGUocGFyYW1zIGFzIENoZWNrVXBkYXRlc1BheWxvYWQpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBidXN5ID0gISFzdGF0ZSAmJiAhZG9uZVN0YXR1c2VzLmluY2x1ZGVzKHN0YXRlLnN0YXR1cyk7XG5cbiAgICBsZXQgc3VmZml4OiBKU1guRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgc3VmZml4ID0gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibXhfVXBkYXRlQ2hlY2tCdXR0b25fc3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgIHtnZXRTdGF0dXNUZXh0KHN0YXRlLnN0YXR1cywgc3RhdGUuZGV0YWlsKX1cbiAgICAgICAgICAgICAgICB7YnVzeSAmJiA8SW5saW5lU3Bpbm5lciAvPn1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvbiBvbkNsaWNrPXtvbkNoZWNrRm9yVXBkYXRlQ2xpY2t9IGtpbmQ9XCJwcmltYXJ5X291dGxpbmVcIiBkaXNhYmxlZD17YnVzeX0+XG4gICAgICAgICAgICAgICAge190KFwidXBkYXRlfGNoZWNrX2FjdGlvblwiKX1cbiAgICAgICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICAgICAgICAgIHtzdWZmaXh9XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFVwZGF0ZUNoZWNrQnV0dG9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGFBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFMLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUyxpQkFBQSxHQUFBTixzQkFBQSxDQUFBSCxPQUFBO0FBQW1GLE1BQUFVLFNBQUE7QUFqQm5GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTkEsU0FBQUMs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QUFxQixHQUFHQSxDQUFBLEtBQVk7SUFDdENGLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDZGxCLG9CQUFXLENBQUNiLEdBQUcsQ0FBQyxDQUFDLEVBQUVrQyxnQkFBZ0IsQ0FBQyxDQUFDO0VBQ3pDLENBQUM7RUFFRCxJQUFBQyw0QkFBYSxFQUFDQyxtQkFBRyxFQUFFQyxJQUFBLElBQTJCO0lBQUEsSUFBMUI7UUFBRUM7TUFBa0IsQ0FBQyxHQUFBRCxJQUFBO01BQVJFLE1BQU0sT0FBQUMseUJBQUEsQ0FBQTFDLE9BQUEsRUFBQXVDLElBQUEsRUFBQTlDLFNBQUE7SUFDbkMsSUFBSStDLE1BQU0sS0FBS0csZUFBTSxDQUFDQyxZQUFZLEVBQUU7TUFDaENYLFFBQVEsQ0FBQ1EsTUFBNkIsQ0FBQztJQUMzQztFQUNKLENBQUMsQ0FBQztFQUVGLE1BQU1JLElBQUksR0FBRyxDQUFDLENBQUNiLEtBQUssSUFBSSxDQUFDRixZQUFZLENBQUNnQixRQUFRLENBQUNkLEtBQUssQ0FBQ2YsTUFBTSxDQUFDO0VBRTVELElBQUk4QixNQUErQjtFQUNuQyxJQUFJZixLQUFLLEVBQUU7SUFDUGUsTUFBTSxnQkFDRmxFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTJCLGFBQUE7TUFBTXFCLFNBQVMsRUFBQztJQUE4QixHQUN6Q2hDLGFBQWEsQ0FBQ2dCLEtBQUssQ0FBQ2YsTUFBTSxFQUFFZSxLQUFLLENBQUNpQixNQUFNLENBQUMsRUFDekNKLElBQUksaUJBQUloRSxNQUFBLENBQUFtQixPQUFBLENBQUEyQixhQUFBLENBQUNwQyxjQUFBLENBQUFTLE9BQWEsTUFBRSxDQUN2QixDQUNUO0VBQ0w7RUFFQSxvQkFDSW5CLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTJCLGFBQUEsQ0FBQzlDLE1BQUEsQ0FBQW1CLE9BQUssQ0FBQ2tELFFBQVEscUJBQ1hyRSxNQUFBLENBQUFtQixPQUFBLENBQUEyQixhQUFBLENBQUNuQyxpQkFBQSxDQUFBUSxPQUFnQjtJQUFDNkIsT0FBTyxFQUFFTSxxQkFBc0I7SUFBQ1AsSUFBSSxFQUFDLGlCQUFpQjtJQUFDdUIsUUFBUSxFQUFFTjtFQUFLLEdBQ25GLElBQUF4QixtQkFBRSxFQUFDLHFCQUFxQixDQUNYLENBQUMsRUFDbEIwQixNQUNXLENBQUM7QUFFekIsQ0FBQztBQUFDLElBQUFLLFFBQUEsR0FBQUMsT0FBQSxDQUFBckQsT0FBQSxHQUVhK0IsaUJBQWlCIiwiaWdub3JlTGlzdCI6W119