matrix-react-sdk
Version:
SDK for matrix.org using React
97 lines (93 loc) • 12 kB
JavaScript
;
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+IHtcbiAgICAgICAgICAgIE1vZGFsLmNyZWF0ZURpYWxvZyhDaGFuZ2Vsb2dEaWFsb2csIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLFxuICAgICAgICAgICAgICAgIG5ld1ZlcnNpb24sXG4gICAgICAgICAgICAgICAgb25GaW5pc2hlZDogKHVwZGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodXBkYXRlICYmIFBsYXRmb3JtUGVnLmdldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybVBlZy5nZXQoKSEuaW5zdGFsbFVwZGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG9uQWNjZXB0ID0gaW5zdGFsbFVwZGF0ZTtcbiAgICAgICAgYWNjZXB0TGFiZWwgPSBfdChcImFjdGlvbnx1cGRhdGVcIik7XG4gICAgfVxuXG4gICAgY29uc3QgYnJhbmQgPSBTZGtDb25maWcuZ2V0KCkuYnJhbmQ7XG4gICAgVG9hc3RTdG9yZS5zaGFyZWRJbnN0YW5jZSgpLmFkZE9yUmVwbGFjZVRvYXN0KHtcbiAgICAgICAga2V5OiBUT0FTVF9LRVksXG4gICAgICAgIHRpdGxlOiBfdChcInVwZGF0ZXx0b2FzdF90aXRsZVwiLCB7IGJyYW5kIH0pLFxuICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IF90KFwidXBkYXRlfHRvYXN0X2Rlc2NyaXB0aW9uXCIsIHsgYnJhbmQgfSksXG4gICAgICAgICAgICBwcmltYXJ5TGFiZWw6IGFjY2VwdExhYmVsLFxuICAgICAgICAgICAgb25QcmltYXJ5Q2xpY2s6IG9uQWNjZXB0LFxuICAgICAgICAgICAgc2Vjb25kYXJ5TGFiZWw6IF90KFwiYWN0aW9ufGRpc21pc3NcIiksXG4gICAgICAgICAgICBvblNlY29uZGFyeUNsaWNrOiBvblJlamVjdCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcG9uZW50OiBHZW5lcmljVG9hc3QsXG4gICAgICAgIHByaW9yaXR5OiAyMCxcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBoaWRlVG9hc3QgPSAoKTogdm9pZCA9PiB7XG4gICAgVG9hc3RTdG9yZS5zaGFyZWRJbnN0YW5jZSgpLmRpc21pc3NUb2FzdChUT0FTVF9LRVkpO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGdCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxVQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxlQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBakJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWFBLE1BQU1TLFNBQVMsR0FBRyxRQUFROztBQUUxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLFlBQVlBLENBQUNDLEdBQVcsRUFBVztFQUN4QyxNQUFNQyxLQUFLLEdBQUdELEdBQUcsQ0FBQ0UsS0FBSyxDQUFDLEdBQUcsQ0FBQztFQUM1QixPQUFPRCxLQUFLLENBQUNFLE1BQU0sS0FBSyxDQUFDLElBQUlGLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLElBQUlBLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJO0FBQzFFO0FBRUEsU0FBU0csYUFBYUEsQ0FBQSxFQUFTO0VBQzNCQyxvQkFBVyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFRixhQUFhLENBQUMsQ0FBQztBQUN0QztBQUVPLE1BQU1HLFNBQVMsR0FBR0EsQ0FBQ0MsT0FBZSxFQUFFQyxVQUFrQixFQUFFQyxZQUFxQixLQUFXO0VBQzNGLFNBQVNDLFFBQVFBLENBQUEsRUFBUztJQUN0Qk4sb0JBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRU0sV0FBVyxDQUFDSCxVQUFVLENBQUM7RUFDOUM7RUFFQSxJQUFJSSxRQUFRO0VBQ1osSUFBSUMsV0FBVyxHQUFHLElBQUFDLG1CQUFFLEVBQUMsMkJBQTJCLENBQUM7RUFDakQsSUFBSUwsWUFBWSxFQUFFO0lBQ2RHLFFBQVEsR0FBR0EsQ0FBQSxLQUFNO01BQ2JHLGNBQUssQ0FBQ0MsWUFBWSxDQUFDQyx1QkFBYyxFQUFFO1FBQy9CQyxLQUFLLEVBQUUsSUFBQUosbUJBQUUsRUFBQyxrQ0FBa0MsQ0FBQztRQUM3Q0ssV0FBVyxlQUFFakMsTUFBQSxDQUFBa0MsT0FBQSxDQUFBQyxhQUFBLGNBQU1aLFlBQWtCLENBQUM7UUFDdENhLE1BQU0sRUFBRSxJQUFBUixtQkFBRSxFQUFDLGVBQWUsQ0FBQztRQUMzQlMsVUFBVSxFQUFHQyxNQUFNLElBQUs7VUFDcEIsSUFBSUEsTUFBTSxJQUFJcEIsb0JBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM3QkQsb0JBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsQ0FBRUYsYUFBYSxDQUFDLENBQUM7VUFDdEM7UUFDSjtNQUNKLENBQUMsQ0FBQztJQUNOLENBQUM7RUFDTCxDQUFDLE1BQU0sSUFBSUwsWUFBWSxDQUFDUyxPQUFPLENBQUMsSUFBSVQsWUFBWSxDQUFDVSxVQUFVLENBQUMsRUFBRTtJQUMxREksUUFBUSxHQUFHQSxDQUFBLEtBQU07TUFDYkcsY0FBSyxDQUFDQyxZQUFZLENBQUNTLHdCQUFlLEVBQUU7UUFDaENsQixPQUFPO1FBQ1BDLFVBQVU7UUFDVmUsVUFBVSxFQUFHQyxNQUFNLElBQUs7VUFDcEIsSUFBSUEsTUFBTSxJQUFJcEIsb0JBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRTtZQUM3QkQsb0JBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsQ0FBRUYsYUFBYSxDQUFDLENBQUM7VUFDdEM7UUFDSjtNQUNKLENBQUMsQ0FBQztJQUNOLENBQUM7RUFDTCxDQUFDLE1BQU07SUFDSFMsUUFBUSxHQUFHVCxhQUFhO0lBQ3hCVSxXQUFXLEdBQUcsSUFBQUMsbUJBQUUsRUFBQyxlQUFlLENBQUM7RUFDckM7RUFFQSxNQUFNWSxLQUFLLEdBQUdDLGtCQUFTLENBQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDcUIsS0FBSztFQUNuQ0UsbUJBQVUsQ0FBQ0MsY0FBYyxDQUFDLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUM7SUFDMUNDLEdBQUcsRUFBRWxDLFNBQVM7SUFDZHFCLEtBQUssRUFBRSxJQUFBSixtQkFBRSxFQUFDLG9CQUFvQixFQUFFO01BQUVZO0lBQU0sQ0FBQyxDQUFDO0lBQzFDTSxLQUFLLEVBQUU7TUFDSGIsV0FBVyxFQUFFLElBQUFMLG1CQUFFLEVBQUMsMEJBQTBCLEVBQUU7UUFBRVk7TUFBTSxDQUFDLENBQUM7TUFDdERPLFlBQVksRUFBRXBCLFdBQVc7TUFDekJxQixjQUFjLEVBQUV0QixRQUFRO01BQ3hCdUIsY0FBYyxFQUFFLElBQUFyQixtQkFBRSxFQUFDLGdCQUFnQixDQUFDO01BQ3BDc0IsZ0JBQWdCLEVBQUUxQjtJQUN0QixDQUFDO0lBQ0QyQixTQUFTLEVBQUVDLHFCQUFZO0lBQ3ZCQyxRQUFRLEVBQUU7RUFDZCxDQUFDLENBQUM7QUFDTixDQUFDO0FBQUNDLE9BQUEsQ0FBQWxDLFNBQUEsR0FBQUEsU0FBQTtBQUVLLE1BQU1tQyxTQUFTLEdBQUdBLENBQUEsS0FBWTtFQUNqQ2IsbUJBQVUsQ0FBQ0MsY0FBYyxDQUFDLENBQUMsQ0FBQ2EsWUFBWSxDQUFDN0MsU0FBUyxDQUFDO0FBQ3ZELENBQUM7QUFBQzJDLE9BQUEsQ0FBQUMsU0FBQSxHQUFBQSxTQUFBIiwiaWdub3JlTGlzdCI6W119