UNPKG

matrix-react-sdk

Version:
130 lines (105 loc) 11.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.hideToast = exports.showToast = 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 2020 The Matrix.org Foundation C.I.C. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ 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 /*: string*/ , newVersion /*: string*/ , releaseNotes /*: string*/ ) => { function onReject() { _PlatformPeg.default.get().deferUpdate(newVersion); } let onAccept; let acceptLabel = (0, _languageHandler._t)("What's new?"); if (releaseNotes) { onAccept = () => { _Modal.default.createTrackedDialog('Display release notes', '', _QuestionDialog.default, { title: (0, _languageHandler._t)("What's New"), description: /*#__PURE__*/_react.default.createElement("pre", null, releaseNotes), button: (0, _languageHandler._t)("Update"), onFinished: update => { if (update && _PlatformPeg.default.get()) { _PlatformPeg.default.get().installUpdate(); } } }); }; } else if (checkVersion(version) && checkVersion(newVersion)) { onAccept = () => { _Modal.default.createTrackedDialog('Display Changelog', '', _ChangelogDialog.default, { version, newVersion, onFinished: update => { if (update && _PlatformPeg.default.get()) { _PlatformPeg.default.get().installUpdate(); } } }); }; } else { onAccept = installUpdate; acceptLabel = (0, _languageHandler._t)("Update"); } const brand = _SdkConfig.default.get().brand; _ToastStore.default.sharedInstance().addOrReplaceToast({ key: TOAST_KEY, title: (0, _languageHandler._t)("Update %(brand)s", { brand }), props: { description: (0, _languageHandler._t)("New version of %(brand)s is available", { brand }), acceptLabel, onAccept, rejectLabel: (0, _languageHandler._t)("Dismiss"), 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b2FzdHMvVXBkYXRlVG9hc3QudHN4Il0sIm5hbWVzIjpbIlRPQVNUX0tFWSIsImNoZWNrVmVyc2lvbiIsInZlciIsInBhcnRzIiwic3BsaXQiLCJsZW5ndGgiLCJpbnN0YWxsVXBkYXRlIiwiUGxhdGZvcm1QZWciLCJnZXQiLCJzaG93VG9hc3QiLCJ2ZXJzaW9uIiwibmV3VmVyc2lvbiIsInJlbGVhc2VOb3RlcyIsIm9uUmVqZWN0IiwiZGVmZXJVcGRhdGUiLCJvbkFjY2VwdCIsImFjY2VwdExhYmVsIiwiTW9kYWwiLCJjcmVhdGVUcmFja2VkRGlhbG9nIiwiUXVlc3Rpb25EaWFsb2ciLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwib25GaW5pc2hlZCIsInVwZGF0ZSIsIkNoYW5nZWxvZ0RpYWxvZyIsImJyYW5kIiwiU2RrQ29uZmlnIiwiVG9hc3RTdG9yZSIsInNoYXJlZEluc3RhbmNlIiwiYWRkT3JSZXBsYWNlVG9hc3QiLCJrZXkiLCJwcm9wcyIsInJlamVjdExhYmVsIiwiY29tcG9uZW50IiwiR2VuZXJpY1RvYXN0IiwicHJpb3JpdHkiLCJoaWRlVG9hc3QiLCJkaXNtaXNzVG9hc3QiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWdCQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUF6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUEsTUFBTUEsU0FBUyxHQUFHLFFBQWxCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsU0FBU0MsWUFBVCxDQUFzQkMsR0FBdEIsRUFBMkI7QUFDdkIsUUFBTUMsS0FBSyxHQUFHRCxHQUFHLENBQUNFLEtBQUosQ0FBVSxHQUFWLENBQWQ7QUFDQSxTQUFPRCxLQUFLLENBQUNFLE1BQU4sS0FBaUIsQ0FBakIsSUFBc0JGLEtBQUssQ0FBQyxDQUFELENBQUwsS0FBYSxPQUFuQyxJQUE4Q0EsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFhLElBQWxFO0FBQ0g7O0FBRUQsU0FBU0csYUFBVCxHQUF5QjtBQUNyQkMsdUJBQVlDLEdBQVosR0FBa0JGLGFBQWxCO0FBQ0g7O0FBRU0sTUFBTUcsU0FBUyxHQUFHLENBQUNDO0FBQUQ7QUFBQSxFQUFrQkM7QUFBbEI7QUFBQSxFQUFzQ0M7QUFBdEM7QUFBQSxLQUFnRTtBQUNyRixXQUFTQyxRQUFULEdBQW9CO0FBQ2hCTix5QkFBWUMsR0FBWixHQUFrQk0sV0FBbEIsQ0FBOEJILFVBQTlCO0FBQ0g7O0FBRUQsTUFBSUksUUFBSjtBQUNBLE1BQUlDLFdBQVcsR0FBRyx5QkFBRyxhQUFILENBQWxCOztBQUNBLE1BQUlKLFlBQUosRUFBa0I7QUFDZEcsSUFBQUEsUUFBUSxHQUFHLE1BQU07QUFDYkUscUJBQU1DLG1CQUFOLENBQTBCLHVCQUExQixFQUFtRCxFQUFuRCxFQUF1REMsdUJBQXZELEVBQXVFO0FBQ25FQyxRQUFBQSxLQUFLLEVBQUUseUJBQUcsWUFBSCxDQUQ0RDtBQUVuRUMsUUFBQUEsV0FBVyxlQUFFLDBDQUFNVCxZQUFOLENBRnNEO0FBR25FVSxRQUFBQSxNQUFNLEVBQUUseUJBQUcsUUFBSCxDQUgyRDtBQUluRUMsUUFBQUEsVUFBVSxFQUFHQyxNQUFELElBQVk7QUFDcEIsY0FBSUEsTUFBTSxJQUFJakIscUJBQVlDLEdBQVosRUFBZCxFQUFpQztBQUM3QkQsaUNBQVlDLEdBQVosR0FBa0JGLGFBQWxCO0FBQ0g7QUFDSjtBQVJrRSxPQUF2RTtBQVVILEtBWEQ7QUFZSCxHQWJELE1BYU8sSUFBSUwsWUFBWSxDQUFDUyxPQUFELENBQVosSUFBeUJULFlBQVksQ0FBQ1UsVUFBRCxDQUF6QyxFQUF1RDtBQUMxREksSUFBQUEsUUFBUSxHQUFHLE1BQU07QUFDYkUscUJBQU1DLG1CQUFOLENBQTBCLG1CQUExQixFQUErQyxFQUEvQyxFQUFtRE8sd0JBQW5ELEVBQW9FO0FBQ2hFZixRQUFBQSxPQURnRTtBQUVoRUMsUUFBQUEsVUFGZ0U7QUFHaEVZLFFBQUFBLFVBQVUsRUFBR0MsTUFBRCxJQUFZO0FBQ3BCLGNBQUlBLE1BQU0sSUFBSWpCLHFCQUFZQyxHQUFaLEVBQWQsRUFBaUM7QUFDN0JELGlDQUFZQyxHQUFaLEdBQWtCRixhQUFsQjtBQUNIO0FBQ0o7QUFQK0QsT0FBcEU7QUFTSCxLQVZEO0FBV0gsR0FaTSxNQVlBO0FBQ0hTLElBQUFBLFFBQVEsR0FBR1QsYUFBWDtBQUNBVSxJQUFBQSxXQUFXLEdBQUcseUJBQUcsUUFBSCxDQUFkO0FBQ0g7O0FBRUQsUUFBTVUsS0FBSyxHQUFHQyxtQkFBVW5CLEdBQVYsR0FBZ0JrQixLQUE5Qjs7QUFDQUUsc0JBQVdDLGNBQVgsR0FBNEJDLGlCQUE1QixDQUE4QztBQUMxQ0MsSUFBQUEsR0FBRyxFQUFFL0IsU0FEcUM7QUFFMUNvQixJQUFBQSxLQUFLLEVBQUUseUJBQUcsa0JBQUgsRUFBdUI7QUFBRU0sTUFBQUE7QUFBRixLQUF2QixDQUZtQztBQUcxQ00sSUFBQUEsS0FBSyxFQUFFO0FBQ0hYLE1BQUFBLFdBQVcsRUFBRSx5QkFBRyx1Q0FBSCxFQUE0QztBQUFFSyxRQUFBQTtBQUFGLE9BQTVDLENBRFY7QUFFSFYsTUFBQUEsV0FGRztBQUdIRCxNQUFBQSxRQUhHO0FBSUhrQixNQUFBQSxXQUFXLEVBQUUseUJBQUcsU0FBSCxDQUpWO0FBS0hwQixNQUFBQTtBQUxHLEtBSG1DO0FBVTFDcUIsSUFBQUEsU0FBUyxFQUFFQyxxQkFWK0I7QUFXMUNDLElBQUFBLFFBQVEsRUFBRTtBQVhnQyxHQUE5QztBQWFILENBbkRNOzs7O0FBcURBLE1BQU1DLFNBQVMsR0FBRyxNQUFNO0FBQzNCVCxzQkFBV0MsY0FBWCxHQUE0QlMsWUFBNUIsQ0FBeUN0QyxTQUF6QztBQUNILENBRk0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbnlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbllvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG5odHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgU2RrQ29uZmlnIGZyb20gXCIuLi9TZGtDb25maWdcIjtcbmltcG9ydCBHZW5lcmljVG9hc3QgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvdG9hc3RzL0dlbmVyaWNUb2FzdFwiO1xuaW1wb3J0IFRvYXN0U3RvcmUgZnJvbSBcIi4uL3N0b3Jlcy9Ub2FzdFN0b3JlXCI7XG5pbXBvcnQgUXVlc3Rpb25EaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9RdWVzdGlvbkRpYWxvZ1wiO1xuaW1wb3J0IENoYW5nZWxvZ0RpYWxvZyBmcm9tIFwiLi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL0NoYW5nZWxvZ0RpYWxvZ1wiO1xuaW1wb3J0IFBsYXRmb3JtUGVnIGZyb20gXCIuLi9QbGF0Zm9ybVBlZ1wiO1xuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9Nb2RhbFwiO1xuXG5jb25zdCBUT0FTVF9LRVkgPSBcInVwZGF0ZVwiO1xuXG4vKlxuICogQ2hlY2sgYSB2ZXJzaW9uIHN0cmluZyBpcyBjb21wYXRpYmxlIHdpdGggdGhlIENoYW5nZWxvZ1xuICogZGlhbG9nIChbZWxlbWVudC12ZXJzaW9uXS1yZWFjdC1bcmVhY3Qtc2RrLXZlcnNpb25dLWpzLVtqcy1zZGstdmVyc2lvbl0pXG4gKi9cbmZ1bmN0aW9uIGNoZWNrVmVyc2lvbih2ZXIpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHZlci5zcGxpdCgnLScpO1xuICAgIHJldHVybiBwYXJ0cy5sZW5ndGggPT09IDUgJiYgcGFydHNbMV0gPT09ICdyZWFjdCcgJiYgcGFydHNbM10gPT09ICdqcyc7XG59XG5cbmZ1bmN0aW9uIGluc3RhbGxVcGRhdGUoKSB7XG4gICAgUGxhdGZvcm1QZWcuZ2V0KCkuaW5zdGFsbFVwZGF0ZSgpO1xufVxuXG5leHBvcnQgY29uc3Qgc2hvd1RvYXN0ID0gKHZlcnNpb246IHN0cmluZywgbmV3VmVyc2lvbjogc3RyaW5nLCByZWxlYXNlTm90ZXM/OiBzdHJpbmcpID0+IHtcbiAgICBmdW5jdGlvbiBvblJlamVjdCgpIHtcbiAgICAgICAgUGxhdGZvcm1QZWcuZ2V0KCkuZGVmZXJVcGRhdGUobmV3VmVyc2lvbik7XG4gICAgfVxuXG4gICAgbGV0IG9uQWNjZXB0O1xuICAgIGxldCBhY2NlcHRMYWJlbCA9IF90KFwiV2hhdCdzIG5ldz9cIik7XG4gICAgaWYgKHJlbGVhc2VOb3Rlcykge1xuICAgICAgICBvbkFjY2VwdCA9ICgpID0+IHtcbiAgICAgICAgICAgIE1vZGFsLmNyZWF0ZVRyYWNrZWREaWFsb2coJ0Rpc3BsYXkgcmVsZWFzZSBub3RlcycsICcnLCBRdWVzdGlvbkRpYWxvZywge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBfdChcIldoYXQncyBOZXdcIiksXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IDxwcmU+e3JlbGVhc2VOb3Rlc308L3ByZT4sXG4gICAgICAgICAgICAgICAgYnV0dG9uOiBfdChcIlVwZGF0ZVwiKSxcbiAgICAgICAgICAgICAgICBvbkZpbmlzaGVkOiAodXBkYXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1cGRhdGUgJiYgUGxhdGZvcm1QZWcuZ2V0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtUGVnLmdldCgpLmluc3RhbGxVcGRhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGNoZWNrVmVyc2lvbih2ZXJzaW9uKSAmJiBjaGVja1ZlcnNpb24obmV3VmVyc2lvbikpIHtcbiAgICAgICAgb25BY2NlcHQgPSAoKSA9PiB7XG4gICAgICAgICAgICBNb2RhbC5jcmVhdGVUcmFja2VkRGlhbG9nKCdEaXNwbGF5IENoYW5nZWxvZycsICcnLCBDaGFuZ2Vsb2dEaWFsb2csIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgICAgIG5ld1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgb25GaW5pc2hlZDogKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlICYmIFBsYXRmb3JtUGVnLmdldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybVBlZy5nZXQoKS5pbnN0YWxsVXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgb25BY2NlcHQgPSBpbnN0YWxsVXBkYXRlO1xuICAgICAgICBhY2NlcHRMYWJlbCA9IF90KFwiVXBkYXRlXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGJyYW5kID0gU2RrQ29uZmlnLmdldCgpLmJyYW5kO1xuICAgIFRvYXN0U3RvcmUuc2hhcmVkSW5zdGFuY2UoKS5hZGRPclJlcGxhY2VUb2FzdCh7XG4gICAgICAgIGtleTogVE9BU1RfS0VZLFxuICAgICAgICB0aXRsZTogX3QoXCJVcGRhdGUgJShicmFuZClzXCIsIHsgYnJhbmQgfSksXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogX3QoXCJOZXcgdmVyc2lvbiBvZiAlKGJyYW5kKXMgaXMgYXZhaWxhYmxlXCIsIHsgYnJhbmQgfSksXG4gICAgICAgICAgICBhY2NlcHRMYWJlbCxcbiAgICAgICAgICAgIG9uQWNjZXB0LFxuICAgICAgICAgICAgcmVqZWN0TGFiZWw6IF90KFwiRGlzbWlzc1wiKSxcbiAgICAgICAgICAgIG9uUmVqZWN0LFxuICAgICAgICB9LFxuICAgICAgICBjb21wb25lbnQ6IEdlbmVyaWNUb2FzdCxcbiAgICAgICAgcHJpb3JpdHk6IDIwLFxuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGhpZGVUb2FzdCA9ICgpID0+IHtcbiAgICBUb2FzdFN0b3JlLnNoYXJlZEluc3RhbmNlKCkuZGlzbWlzc1RvYXN0KFRPQVNUX0tFWSk7XG59O1xuIl19