UNPKG

matrix-react-sdk

Version:
130 lines (104 loc) 13.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.BetaPill = void 0; var _react = _interopRequireDefault(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _languageHandler = require("../../../languageHandler"); var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton")); var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore")); var _SettingLevel = require("../../../settings/SettingLevel"); var _TextWithTooltip = _interopRequireDefault(require("../elements/TextWithTooltip")); var _Modal = _interopRequireDefault(require("../../../Modal")); var _BetaFeedbackDialog = _interopRequireDefault(require("../dialogs/BetaFeedbackDialog")); var _SdkConfig = _interopRequireDefault(require("../../../SdkConfig")); /* Copyright 2021 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 BetaPill = ({ onClick } /*: { onClick?: () => void }*/ ) => { if (onClick) { return /*#__PURE__*/_react.default.createElement(_TextWithTooltip.default, { class: (0, _classnames.default)("mx_BetaCard_betaPill", { mx_BetaCard_betaPill_clickable: !!onClick }), tooltip: /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", { className: "mx_Tooltip_title" }, (0, _languageHandler._t)("Spaces is a beta feature")), /*#__PURE__*/_react.default.createElement("div", { className: "mx_Tooltip_sub" }, (0, _languageHandler._t)("Tap for more info"))), onClick: onClick, tooltipProps: { yOffset: -10 } }, (0, _languageHandler._t)("Beta")); } return /*#__PURE__*/_react.default.createElement("span", { className: (0, _classnames.default)("mx_BetaCard_betaPill", { mx_BetaCard_betaPill_clickable: !!onClick }), onClick: onClick }, (0, _languageHandler._t)("Beta")); }; exports.BetaPill = BetaPill; const BetaCard = ({ title: titleOverride, featureId } /*: IProps*/ ) => { const info = _SettingsStore.default.getBetaInfo(featureId); if (!info) return null; // Beta is invalid/disabled const { title, caption, disclaimer, image, feedbackLabel, feedbackSubheading } = info; const value = _SettingsStore.default.getValue(featureId); let feedbackButton; if (value && feedbackLabel && feedbackSubheading && _SdkConfig.default.get().bug_report_endpoint_url) { feedbackButton = /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: () => { _Modal.default.createTrackedDialog("Beta Feedback", featureId, _BetaFeedbackDialog.default, { featureId }); }, kind: "primary" }, (0, _languageHandler._t)("Feedback")); } return /*#__PURE__*/_react.default.createElement("div", { className: "mx_BetaCard" }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h3", { className: "mx_BetaCard_title" }, titleOverride || (0, _languageHandler._t)(title), /*#__PURE__*/_react.default.createElement(BetaPill, null)), /*#__PURE__*/_react.default.createElement("span", { className: "mx_BetaCard_caption" }, (0, _languageHandler._t)(caption)), /*#__PURE__*/_react.default.createElement("div", null, feedbackButton, /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { onClick: () => _SettingsStore.default.setValue(featureId, null, _SettingLevel.SettingLevel.DEVICE, !value), kind: feedbackButton ? "primary_outline" : "primary" }, value ? (0, _languageHandler._t)("Leave the beta") : (0, _languageHandler._t)("Join the beta"))), disclaimer && /*#__PURE__*/_react.default.createElement("div", { className: "mx_BetaCard_disclaimer" }, disclaimer(value))), /*#__PURE__*/_react.default.createElement("img", { src: image, alt: "" })); }; var _default = BetaCard; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2JldGEvQmV0YUNhcmQudHN4Il0sIm5hbWVzIjpbIkJldGFQaWxsIiwib25DbGljayIsIm14X0JldGFDYXJkX2JldGFQaWxsX2NsaWNrYWJsZSIsInlPZmZzZXQiLCJCZXRhQ2FyZCIsInRpdGxlIiwidGl0bGVPdmVycmlkZSIsImZlYXR1cmVJZCIsImluZm8iLCJTZXR0aW5nc1N0b3JlIiwiZ2V0QmV0YUluZm8iLCJjYXB0aW9uIiwiZGlzY2xhaW1lciIsImltYWdlIiwiZmVlZGJhY2tMYWJlbCIsImZlZWRiYWNrU3ViaGVhZGluZyIsInZhbHVlIiwiZ2V0VmFsdWUiLCJmZWVkYmFja0J1dHRvbiIsIlNka0NvbmZpZyIsImdldCIsImJ1Z19yZXBvcnRfZW5kcG9pbnRfdXJsIiwiTW9kYWwiLCJjcmVhdGVUcmFja2VkRGlhbG9nIiwiQmV0YUZlZWRiYWNrRGlhbG9nIiwic2V0VmFsdWUiLCJTZXR0aW5nTGV2ZWwiLCJERVZJQ0UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQWdCQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUExQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbUJPLE1BQU1BLFFBQVEsR0FBRyxDQUFDO0FBQUVDLEVBQUFBO0FBQUY7QUFBRDtBQUFBLEtBQTJDO0FBQy9ELE1BQUlBLE9BQUosRUFBYTtBQUNULHdCQUFPLDZCQUFDLHdCQUFEO0FBQ0gsTUFBQSxLQUFLLEVBQUUseUJBQVcsc0JBQVgsRUFBbUM7QUFDdENDLFFBQUFBLDhCQUE4QixFQUFFLENBQUMsQ0FBQ0Q7QUFESSxPQUFuQyxDQURKO0FBSUgsTUFBQSxPQUFPLGVBQUUsdURBQ0w7QUFBSyxRQUFBLFNBQVMsRUFBQztBQUFmLFNBQ00seUJBQUcsMEJBQUgsQ0FETixDQURLLGVBSUw7QUFBSyxRQUFBLFNBQVMsRUFBQztBQUFmLFNBQ00seUJBQUcsbUJBQUgsQ0FETixDQUpLLENBSk47QUFZSCxNQUFBLE9BQU8sRUFBRUEsT0FaTjtBQWFILE1BQUEsWUFBWSxFQUFFO0FBQUVFLFFBQUFBLE9BQU8sRUFBRSxDQUFDO0FBQVo7QUFiWCxPQWVELHlCQUFHLE1BQUgsQ0FmQyxDQUFQO0FBaUJIOztBQUVELHNCQUFPO0FBQ0gsSUFBQSxTQUFTLEVBQUUseUJBQVcsc0JBQVgsRUFBbUM7QUFDMUNELE1BQUFBLDhCQUE4QixFQUFFLENBQUMsQ0FBQ0Q7QUFEUSxLQUFuQyxDQURSO0FBSUgsSUFBQSxPQUFPLEVBQUVBO0FBSk4sS0FNRCx5QkFBRyxNQUFILENBTkMsQ0FBUDtBQVFILENBN0JNOzs7O0FBK0JQLE1BQU1HLFFBQVEsR0FBRyxDQUFDO0FBQUVDLEVBQUFBLEtBQUssRUFBRUMsYUFBVDtBQUF3QkMsRUFBQUE7QUFBeEI7QUFBRDtBQUFBLEtBQWlEO0FBQzlELFFBQU1DLElBQUksR0FBR0MsdUJBQWNDLFdBQWQsQ0FBMEJILFNBQTFCLENBQWI7O0FBQ0EsTUFBSSxDQUFDQyxJQUFMLEVBQVcsT0FBTyxJQUFQLENBRm1ELENBRXRDOztBQUV4QixRQUFNO0FBQUVILElBQUFBLEtBQUY7QUFBU00sSUFBQUEsT0FBVDtBQUFrQkMsSUFBQUEsVUFBbEI7QUFBOEJDLElBQUFBLEtBQTlCO0FBQXFDQyxJQUFBQSxhQUFyQztBQUFvREMsSUFBQUE7QUFBcEQsTUFBMkVQLElBQWpGOztBQUNBLFFBQU1RLEtBQUssR0FBR1AsdUJBQWNRLFFBQWQsQ0FBdUJWLFNBQXZCLENBQWQ7O0FBRUEsTUFBSVcsY0FBSjs7QUFDQSxNQUFJRixLQUFLLElBQUlGLGFBQVQsSUFBMEJDLGtCQUExQixJQUFnREksbUJBQVVDLEdBQVYsR0FBZ0JDLHVCQUFwRSxFQUE2RjtBQUN6RkgsSUFBQUEsY0FBYyxnQkFBRyw2QkFBQyx5QkFBRDtBQUNiLE1BQUEsT0FBTyxFQUFFLE1BQU07QUFDWEksdUJBQU1DLG1CQUFOLENBQTBCLGVBQTFCLEVBQTJDaEIsU0FBM0MsRUFBc0RpQiwyQkFBdEQsRUFBMEU7QUFBRWpCLFVBQUFBO0FBQUYsU0FBMUU7QUFDSCxPQUhZO0FBSWIsTUFBQSxJQUFJLEVBQUM7QUFKUSxPQU1YLHlCQUFHLFVBQUgsQ0FOVyxDQUFqQjtBQVFIOztBQUVELHNCQUFPO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDSCx1REFDSTtBQUFJLElBQUEsU0FBUyxFQUFDO0FBQWQsS0FDTUQsYUFBYSxJQUFJLHlCQUFHRCxLQUFILENBRHZCLGVBRUksNkJBQUMsUUFBRCxPQUZKLENBREosZUFLSTtBQUFNLElBQUEsU0FBUyxFQUFDO0FBQWhCLEtBQXdDLHlCQUFHTSxPQUFILENBQXhDLENBTEosZUFNSSwwQ0FDTU8sY0FETixlQUVJLDZCQUFDLHlCQUFEO0FBQ0ksSUFBQSxPQUFPLEVBQUUsTUFBTVQsdUJBQWNnQixRQUFkLENBQXVCbEIsU0FBdkIsRUFBa0MsSUFBbEMsRUFBd0NtQiwyQkFBYUMsTUFBckQsRUFBNkQsQ0FBQ1gsS0FBOUQsQ0FEbkI7QUFFSSxJQUFBLElBQUksRUFBRUUsY0FBYyxHQUFHLGlCQUFILEdBQXVCO0FBRi9DLEtBSU1GLEtBQUssR0FBRyx5QkFBRyxnQkFBSCxDQUFILEdBQTBCLHlCQUFHLGVBQUgsQ0FKckMsQ0FGSixDQU5KLEVBZU1KLFVBQVUsaUJBQUk7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ1ZBLFVBQVUsQ0FBQ0ksS0FBRCxDQURBLENBZnBCLENBREcsZUFvQkg7QUFBSyxJQUFBLEdBQUcsRUFBRUgsS0FBVjtBQUFpQixJQUFBLEdBQUcsRUFBQztBQUFyQixJQXBCRyxDQUFQO0FBc0JILENBekNEOztlQTJDZVQsUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5MaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xueW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG5TZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG5saW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gXCJjbGFzc25hbWVzXCI7XG5cbmltcG9ydCB7X3R9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5pbXBvcnQgU2V0dGluZ3NTdG9yZSBmcm9tIFwiLi4vLi4vLi4vc2V0dGluZ3MvU2V0dGluZ3NTdG9yZVwiO1xuaW1wb3J0IHtTZXR0aW5nTGV2ZWx9IGZyb20gXCIuLi8uLi8uLi9zZXR0aW5ncy9TZXR0aW5nTGV2ZWxcIjtcbmltcG9ydCBUZXh0V2l0aFRvb2x0aXAgZnJvbSBcIi4uL2VsZW1lbnRzL1RleHRXaXRoVG9vbHRpcFwiO1xuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi8uLi9Nb2RhbFwiO1xuaW1wb3J0IEJldGFGZWVkYmFja0RpYWxvZyBmcm9tIFwiLi4vZGlhbG9ncy9CZXRhRmVlZGJhY2tEaWFsb2dcIjtcbmltcG9ydCBTZGtDb25maWcgZnJvbSBcIi4uLy4uLy4uL1Nka0NvbmZpZ1wiO1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBmZWF0dXJlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEJldGFQaWxsID0gKHsgb25DbGljayB9OiB7IG9uQ2xpY2s/OiAoKSA9PiB2b2lkIH0pID0+IHtcbiAgICBpZiAob25DbGljaykge1xuICAgICAgICByZXR1cm4gPFRleHRXaXRoVG9vbHRpcFxuICAgICAgICAgICAgY2xhc3M9e2NsYXNzTmFtZXMoXCJteF9CZXRhQ2FyZF9iZXRhUGlsbFwiLCB7XG4gICAgICAgICAgICAgICAgbXhfQmV0YUNhcmRfYmV0YVBpbGxfY2xpY2thYmxlOiAhIW9uQ2xpY2ssXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICAgIHRvb2x0aXA9ezxkaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9Ub29sdGlwX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHsgX3QoXCJTcGFjZXMgaXMgYSBiZXRhIGZlYXR1cmVcIikgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfVG9vbHRpcF9zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgeyBfdChcIlRhcCBmb3IgbW9yZSBpbmZvXCIpIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2Pn1cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgICAgICB0b29sdGlwUHJvcHM9e3sgeU9mZnNldDogLTEwIH19XG4gICAgICAgID5cbiAgICAgICAgICAgIHsgX3QoXCJCZXRhXCIpIH1cbiAgICAgICAgPC9UZXh0V2l0aFRvb2x0aXA+O1xuICAgIH1cblxuICAgIHJldHVybiA8c3BhblxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJteF9CZXRhQ2FyZF9iZXRhUGlsbFwiLCB7XG4gICAgICAgICAgICBteF9CZXRhQ2FyZF9iZXRhUGlsbF9jbGlja2FibGU6ICEhb25DbGljayxcbiAgICAgICAgfSl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAgICB7IF90KFwiQmV0YVwiKSB9XG4gICAgPC9zcGFuPjtcbn07XG5cbmNvbnN0IEJldGFDYXJkID0gKHsgdGl0bGU6IHRpdGxlT3ZlcnJpZGUsIGZlYXR1cmVJZCB9OiBJUHJvcHMpID0+IHtcbiAgICBjb25zdCBpbmZvID0gU2V0dGluZ3NTdG9yZS5nZXRCZXRhSW5mbyhmZWF0dXJlSWQpO1xuICAgIGlmICghaW5mbykgcmV0dXJuIG51bGw7IC8vIEJldGEgaXMgaW52YWxpZC9kaXNhYmxlZFxuXG4gICAgY29uc3QgeyB0aXRsZSwgY2FwdGlvbiwgZGlzY2xhaW1lciwgaW1hZ2UsIGZlZWRiYWNrTGFiZWwsIGZlZWRiYWNrU3ViaGVhZGluZyB9ID0gaW5mbztcbiAgICBjb25zdCB2YWx1ZSA9IFNldHRpbmdzU3RvcmUuZ2V0VmFsdWUoZmVhdHVyZUlkKTtcblxuICAgIGxldCBmZWVkYmFja0J1dHRvbjtcbiAgICBpZiAodmFsdWUgJiYgZmVlZGJhY2tMYWJlbCAmJiBmZWVkYmFja1N1YmhlYWRpbmcgJiYgU2RrQ29uZmlnLmdldCgpLmJ1Z19yZXBvcnRfZW5kcG9pbnRfdXJsKSB7XG4gICAgICAgIGZlZWRiYWNrQnV0dG9uID0gPEFjY2Vzc2libGVCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBNb2RhbC5jcmVhdGVUcmFja2VkRGlhbG9nKFwiQmV0YSBGZWVkYmFja1wiLCBmZWF0dXJlSWQsIEJldGFGZWVkYmFja0RpYWxvZywgeyBmZWF0dXJlSWQgfSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAga2luZD1cInByaW1hcnlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7IF90KFwiRmVlZGJhY2tcIikgfVxuICAgICAgICA8L0FjY2Vzc2libGVCdXR0b24+O1xuICAgIH1cblxuICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cIm14X0JldGFDYXJkXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwibXhfQmV0YUNhcmRfdGl0bGVcIj5cbiAgICAgICAgICAgICAgICB7IHRpdGxlT3ZlcnJpZGUgfHwgX3QodGl0bGUpIH1cbiAgICAgICAgICAgICAgICA8QmV0YVBpbGwgLz5cbiAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJteF9CZXRhQ2FyZF9jYXB0aW9uXCI+eyBfdChjYXB0aW9uKSB9PC9zcGFuPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICB7IGZlZWRiYWNrQnV0dG9uIH1cbiAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBTZXR0aW5nc1N0b3JlLnNldFZhbHVlKGZlYXR1cmVJZCwgbnVsbCwgU2V0dGluZ0xldmVsLkRFVklDRSwgIXZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAga2luZD17ZmVlZGJhY2tCdXR0b24gPyBcInByaW1hcnlfb3V0bGluZVwiIDogXCJwcmltYXJ5XCJ9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7IHZhbHVlID8gX3QoXCJMZWF2ZSB0aGUgYmV0YVwiKSA6IF90KFwiSm9pbiB0aGUgYmV0YVwiKSB9XG4gICAgICAgICAgICAgICAgPC9BY2Nlc3NpYmxlQnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IGRpc2NsYWltZXIgJiYgPGRpdiBjbGFzc05hbWU9XCJteF9CZXRhQ2FyZF9kaXNjbGFpbWVyXCI+XG4gICAgICAgICAgICAgICAgeyBkaXNjbGFpbWVyKHZhbHVlKSB9XG4gICAgICAgICAgICA8L2Rpdj4gfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGltZyBzcmM9e2ltYWdlfSBhbHQ9XCJcIiAvPlxuICAgIDwvZGl2Pjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJldGFDYXJkO1xuIl19