UNPKG

matrix-react-sdk

Version:
97 lines (93 loc) 12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.showToast = exports.hideToast = void 0; var _react = _interopRequireDefault(require("react")); var _languageHandler = require("../languageHandler"); var _SdkConfig = _interopRequireDefault(require("../SdkConfig")); var _GenericToast = _interopRequireDefault(require("../components/views/toasts/GenericToast")); var _ToastStore = _interopRequireDefault(require("../stores/ToastStore")); var _QuestionDialog = _interopRequireDefault(require("../components/views/dialogs/QuestionDialog")); var _ChangelogDialog = _interopRequireDefault(require("../components/views/dialogs/ChangelogDialog")); var _PlatformPeg = _interopRequireDefault(require("../PlatformPeg")); var _Modal = _interopRequireDefault(require("../Modal")); /* 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. */ const TOAST_KEY = "update"; /* * Check a version string is compatible with the Changelog * dialog ([element-version]-react-[react-sdk-version]-js-[js-sdk-version]) */ function checkVersion(ver) { const parts = ver.split("-"); return parts.length === 5 && parts[1] === "react" && parts[3] === "js"; } function installUpdate() { _PlatformPeg.default.get()?.installUpdate(); } const showToast = (version, newVersion, releaseNotes) => { function onReject() { _PlatformPeg.default.get()?.deferUpdate(newVersion); } let onAccept; let acceptLabel = (0, _languageHandler._t)("update|see_changes_button"); if (releaseNotes) { onAccept = () => { _Modal.default.createDialog(_QuestionDialog.default, { title: (0, _languageHandler._t)("update|release_notes_toast_title"), description: /*#__PURE__*/_react.default.createElement("pre", null, releaseNotes), button: (0, _languageHandler._t)("action|update"), onFinished: update => { if (update && _PlatformPeg.default.get()) { _PlatformPeg.default.get().installUpdate(); } } }); }; } else if (checkVersion(version) && checkVersion(newVersion)) { onAccept = () => { _Modal.default.createDialog(_ChangelogDialog.default, { version, newVersion, onFinished: update => { if (update && _PlatformPeg.default.get()) { _PlatformPeg.default.get().installUpdate(); } } }); }; } else { onAccept = installUpdate; acceptLabel = (0, _languageHandler._t)("action|update"); } const brand = _SdkConfig.default.get().brand; _ToastStore.default.sharedInstance().addOrReplaceToast({ key: TOAST_KEY, title: (0, _languageHandler._t)("update|toast_title", { brand }), props: { description: (0, _languageHandler._t)("update|toast_description", { brand }), primaryLabel: acceptLabel, onPrimaryClick: onAccept, secondaryLabel: (0, _languageHandler._t)("action|dismiss"), onSecondaryClick: onReject }, component: _GenericToast.default, priority: 20 }); }; exports.showToast = showToast; const hideToast = () => { _ToastStore.default.sharedInstance().dismissToast(TOAST_KEY); }; exports.hideToast = hideToast; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfU2RrQ29uZmlnIiwiX0dlbmVyaWNUb2FzdCIsIl9Ub2FzdFN0b3JlIiwiX1F1ZXN0aW9uRGlhbG9nIiwiX0NoYW5nZWxvZ0RpYWxvZyIsIl9QbGF0Zm9ybVBlZyIsIl9Nb2RhbCIsIlRPQVNUX0tFWSIsImNoZWNrVmVyc2lvbiIsInZlciIsInBhcnRzIiwic3BsaXQiLCJsZW5ndGgiLCJpbnN0YWxsVXBkYXRlIiwiUGxhdGZvcm1QZWciLCJnZXQiLCJzaG93VG9hc3QiLCJ2ZXJzaW9uIiwibmV3VmVyc2lvbiIsInJlbGVhc2VOb3RlcyIsIm9uUmVqZWN0IiwiZGVmZXJVcGRhdGUiLCJvbkFjY2VwdCIsImFjY2VwdExhYmVsIiwiX3QiLCJNb2RhbCIsImNyZWF0ZURpYWxvZyIsIlF1ZXN0aW9uRGlhbG9nIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiYnV0dG9uIiwib25GaW5pc2hlZCIsInVwZGF0ZSIsIkNoYW5nZWxvZ0RpYWxvZyIsImJyYW5kIiwiU2RrQ29uZmlnIiwiVG9hc3RTdG9yZSIsInNoYXJlZEluc3RhbmNlIiwiYWRkT3JSZXBsYWNlVG9hc3QiLCJrZXkiLCJwcm9wcyIsInByaW1hcnlMYWJlbCIsIm9uUHJpbWFyeUNsaWNrIiwic2Vjb25kYXJ5TGFiZWwiLCJvblNlY29uZGFyeUNsaWNrIiwiY29tcG9uZW50IiwiR2VuZXJpY1RvYXN0IiwicHJpb3JpdHkiLCJleHBvcnRzIiwiaGlkZVRvYXN0IiwiZGlzbWlzc1RvYXN0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RvYXN0cy9VcGRhdGVUb2FzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBTZGtDb25maWcgZnJvbSBcIi4uL1Nka0NvbmZpZ1wiO1xuaW1wb3J0IEdlbmVyaWNUb2FzdCBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy90b2FzdHMvR2VuZXJpY1RvYXN0XCI7XG5pbXBvcnQgVG9hc3RTdG9yZSBmcm9tIFwiLi4vc3RvcmVzL1RvYXN0U3RvcmVcIjtcbmltcG9ydCBRdWVzdGlvbkRpYWxvZyBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL1F1ZXN0aW9uRGlhbG9nXCI7XG5pbXBvcnQgQ2hhbmdlbG9nRGlhbG9nIGZyb20gXCIuLi9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvQ2hhbmdlbG9nRGlhbG9nXCI7XG5pbXBvcnQgUGxhdGZvcm1QZWcgZnJvbSBcIi4uL1BsYXRmb3JtUGVnXCI7XG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uL01vZGFsXCI7XG5cbmNvbnN0IFRPQVNUX0tFWSA9IFwidXBkYXRlXCI7XG5cbi8qXG4gKiBDaGVjayBhIHZlcnNpb24gc3RyaW5nIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgQ2hhbmdlbG9nXG4gKiBkaWFsb2cgKFtlbGVtZW50LXZlcnNpb25dLXJlYWN0LVtyZWFjdC1zZGstdmVyc2lvbl0tanMtW2pzLXNkay12ZXJzaW9uXSlcbiAqL1xuZnVuY3Rpb24gY2hlY2tWZXJzaW9uKHZlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcGFydHMgPSB2ZXIuc3BsaXQoXCItXCIpO1xuICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPT09IDUgJiYgcGFydHNbMV0gPT09IFwicmVhY3RcIiAmJiBwYXJ0c1szXSA9PT0gXCJqc1wiO1xufVxuXG5mdW5jdGlvbiBpbnN0YWxsVXBkYXRlKCk6IHZvaWQge1xuICAgIFBsYXRmb3JtUGVnLmdldCgpPy5pbnN0YWxsVXBkYXRlKCk7XG59XG5cbmV4cG9ydCBjb25zdCBzaG93VG9hc3QgPSAodmVyc2lvbjogc3RyaW5nLCBuZXdWZXJzaW9uOiBzdHJpbmcsIHJlbGVhc2VOb3Rlcz86IHN0cmluZyk6IHZvaWQgPT4ge1xuICAgIGZ1bmN0aW9uIG9uUmVqZWN0KCk6IHZvaWQge1xuICAgICAgICBQbGF0Zm9ybVBlZy5nZXQoKT8uZGVmZXJVcGRhdGUobmV3VmVyc2lvbik7XG4gICAgfVxuXG4gICAgbGV0IG9uQWNjZXB0O1xuICAgIGxldCBhY2NlcHRMYWJlbCA9IF90KFwidXBkYXRlfHNlZV9jaGFuZ2VzX2J1dHRvblwiKTtcbiAgICBpZiAocmVsZWFzZU5vdGVzKSB7XG4gICAgICAgIG9uQWNjZXB0ID0gKCkgPT4ge1xuICAgICAgICAgICAgTW9kYWwuY3JlYXRlRGlhbG9nKFF1ZXN0aW9uRGlhbG9nLCB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IF90KFwidXBkYXRlfHJlbGVhc2Vfbm90ZXNfdG9hc3RfdGl0bGVcIiksXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IDxwcmU+e3JlbGVhc2VOb3Rlc308L3ByZT4sXG4gICAgICAgICAgICAgICAgYnV0dG9uOiBfdChcImFjdGlvbnx1cGRhdGVcIiksXG4gICAgICAgICAgICAgICAgb25GaW5pc2hlZDogKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlICYmIFBsYXRmb3JtUGVnLmdldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybVBlZy5nZXQoKSEuaW5zdGFsbFVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH0gZWxzZSBpZiAoY2hlY2tWZXJzaW9uKHZlcnNpb24pICYmIGNoZWNrVmVyc2lvbihuZXdWZXJzaW9uKSkge1xuICAgICAgICBvbkFjY2VwdCA9ICgpID0+IHtcbiAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhDaGFuZ2Vsb2dEaWFsb2csIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgICAgIG5ld1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgb25GaW5pc2hlZDogKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlICYmIFBsYXRmb3JtUGVnLmdldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybVBlZy5nZXQoKSEuaW5zdGFsbFVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQWNjZXB0ID0gaW5zdGFsbFVwZGF0ZTtcbiAgICAgICAgYWNjZXB0TGFiZWwgPSBfdChcImFjdGlvbnx1cGRhdGVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgYnJhbmQgPSBTZGtDb25maWcuZ2V0KCkuYnJhbmQ7XG4gICAgVG9hc3RTdG9yZS5zaGFyZWRJbnN0YW5jZSgpLmFkZE9yUmVwbGFjZVRvYXN0KHtcbiAgICAgICAga2V5OiBUT0FTVF9LRVksXG4gICAgICAgIHRpdGxlOiBfdChcInVwZGF0ZXx0b2FzdF90aXRsZVwiLCB7IGJyYW5kIH0pLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IF90KFwidXBkYXRlfHRvYXN0X2Rlc2NyaXB0aW9uXCIsIHsgYnJhbmQgfSksXG4gICAgICAgICAgICBwcmltYXJ5TGFiZWw6IGFjY2VwdExhYmVsLFxuICAgICAgICAgICAgb25QcmltYXJ5Q2xpY2s6IG9uQWNjZXB0LFxuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6IF90KFwiYWN0aW9ufGRpc21pc3NcIiksXG4gICAgICAgICAgICBvblNlY29uZGFyeUNsaWNrOiBvblJlamVjdCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljVG9hc3QsXG4gICAgICAgIHByaW9yaXR5OiAyMCxcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBoaWRlVG9hc3QgPSAoKTogdm9pZCA9PiB7XG4gICAgVG9hc3RTdG9yZS5zaGFyZWRJbnN0YW5jZSgpLmRpc21pc3NUb2FzdChUT0FTVF9LRVkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWFBLE1BQU1TLFNBQVMsR0FBRyxRQUFROztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLFlBQVlBLENBQUNDLEdBQVcsRUFBVztFQUN4QyxNQUFNQyxLQUFLLEdBQUdELEdBQUcsQ0FBQ0UsS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUM1QixPQUFPRCxLQUFLLENBQUNFLE1BQU0sS0FBSyxDQUFDLElBQUlGLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLElBQUlBLEtBQUssQ0FBQyxD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