UNPKG

matrix-react-sdk

Version:
123 lines (96 loc) 13.6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _QuestionDialog = _interopRequireDefault(require("./QuestionDialog")); var _languageHandler = require("../../../languageHandler"); var _Field = _interopRequireDefault(require("../elements/Field")); var _SdkConfig = _interopRequireDefault(require("../../../SdkConfig")); var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore")); var _submitRageshake = require("../../../rageshake/submit-rageshake"); var _StyledCheckbox = _interopRequireDefault(require("../elements/StyledCheckbox")); var _Modal = _interopRequireDefault(require("../../../Modal")); var _InfoDialog = _interopRequireDefault(require("./InfoDialog")); var _AccessibleButton = _interopRequireDefault(require("../elements/AccessibleButton")); var _dispatcher = _interopRequireDefault(require("../../../dispatcher/dispatcher")); var _actions = require("../../../dispatcher/actions"); var _UserSettingsDialog = require("./UserSettingsDialog"); /* 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 BetaFeedbackDialog /*: React.FC<IProps>*/ = ({ featureId, onFinished }) => { const info = _SettingsStore.default.getBetaInfo(featureId); const [comment, setComment] = (0, _react.useState)(""); const [canContact, setCanContact] = (0, _react.useState)(false); const sendFeedback = async (ok /*: boolean*/ ) => { if (!ok) return onFinished(false); (0, _submitRageshake.submitFeedback)(_SdkConfig.default.get().bug_report_endpoint_url, info.feedbackLabel, comment, canContact); onFinished(true); _Modal.default.createTrackedDialog("Beta Dialog Sent", featureId, _InfoDialog.default, { title: (0, _languageHandler._t)("Beta feedback"), description: (0, _languageHandler._t)("Thank you for your feedback, we really appreciate it."), button: (0, _languageHandler._t)("Done"), hasCloseButton: false, fixedWidth: false }); }; return /*#__PURE__*/_react.default.createElement(_QuestionDialog.default, { className: "mx_BetaFeedbackDialog", hasCancelButton: true, title: (0, _languageHandler._t)("%(featureName)s beta feedback", { featureName: info.title }), description: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { className: "mx_BetaFeedbackDialog_subheading" }, (0, _languageHandler._t)(info.feedbackSubheading), "\xA0", (0, _languageHandler._t)("Your platform and username will be noted to help us use your feedback as much as we can."), /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { kind: "link", onClick: () => { onFinished(false); _dispatcher.default.dispatch({ action: _actions.Action.ViewUserSettings, initialTabId: _UserSettingsDialog.USER_LABS_TAB }); } }, (0, _languageHandler._t)("To leave the beta, visit your settings."))), /*#__PURE__*/_react.default.createElement(_Field.default, { id: "feedbackComment", label: (0, _languageHandler._t)("Feedback"), type: "text", autoComplete: "off", value: comment, element: "textarea", onChange: ev => { setComment(ev.target.value); }, autoFocus: true }), /*#__PURE__*/_react.default.createElement(_StyledCheckbox.default, { checked: canContact, onClick: e => setCanContact(e.target.checked) }, (0, _languageHandler._t)("You may contact me if you have any follow up questions"))), button: (0, _languageHandler._t)("Send feedback"), buttonDisabled: !comment, onFinished: sendFeedback }); }; var _default = BetaFeedbackDialog; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3ZpZXdzL2RpYWxvZ3MvQmV0YUZlZWRiYWNrRGlhbG9nLnRzeCJdLCJuYW1lcyI6WyJCZXRhRmVlZGJhY2tEaWFsb2ciLCJmZWF0dXJlSWQiLCJvbkZpbmlzaGVkIiwiaW5mbyIsIlNldHRpbmdzU3RvcmUiLCJnZXRCZXRhSW5mbyIsImNvbW1lbnQiLCJzZXRDb21tZW50IiwiY2FuQ29udGFjdCIsInNldENhbkNvbnRhY3QiLCJzZW5kRmVlZGJhY2siLCJvayIsIlNka0NvbmZpZyIsImdldCIsImJ1Z19yZXBvcnRfZW5kcG9pbnRfdXJsIiwiZmVlZGJhY2tMYWJlbCIsIk1vZGFsIiwiY3JlYXRlVHJhY2tlZERpYWxvZyIsIkluZm9EaWFsb2ciLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwiaGFzQ2xvc2VCdXR0b24iLCJmaXhlZFdpZHRoIiwiZmVhdHVyZU5hbWUiLCJmZWVkYmFja1N1YmhlYWRpbmciLCJkZWZhdWx0RGlzcGF0Y2hlciIsImRpc3BhdGNoIiwiYWN0aW9uIiwiQWN0aW9uIiwiVmlld1VzZXJTZXR0aW5ncyIsImluaXRpYWxUYWJJZCIsIlVTRVJfTEFCU19UQUIiLCJldiIsInRhcmdldCIsInZhbHVlIiwiZSIsImNoZWNrZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBZ0JBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQS9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1QkEsTUFBTUE7QUFBb0M7QUFBQSxFQUFHLENBQUM7QUFBQ0MsRUFBQUEsU0FBRDtBQUFZQyxFQUFBQTtBQUFaLENBQUQsS0FBNkI7QUFDdEUsUUFBTUMsSUFBSSxHQUFHQyx1QkFBY0MsV0FBZCxDQUEwQkosU0FBMUIs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b24gQy5JLkMuXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG55b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG5Zb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG5XSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cblNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbmxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IFJlYWN0LCB7dXNlU3RhdGV9IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgUXVlc3Rpb25EaWFsb2cgZnJvbSAnLi9RdWVzdGlvbkRpYWxvZyc7XG5pbXBvcnQgeyBfdCB9IGZyb20gJy4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlcic7XG5pbXBvcnQgRmllbGQgZnJvbSBcIi4uL2VsZW1lbnRzL0ZpZWxkXCI7XG5pbXBvcnQgU2RrQ29uZmlnIGZyb20gXCIuLi8uLi8uLi9TZGtDb25maWdcIjtcbmltcG9ydCB7SURpYWxvZ1Byb3BzfSBmcm9tIFwiLi9JRGlhbG9nUHJvcHNcIjtcbmltcG9ydCBTZXR0aW5nc1N0b3JlIGZyb20gXCIuLi8uLi8uLi9zZXR0aW5ncy9TZXR0aW5nc1N0b3JlXCI7XG5pbXBvcnQge3N1Ym1pdEZlZWRiYWNrfSBmcm9tIFwiLi4vLi4vLi4vcmFnZXNoYWtlL3N1Ym1pdC1yYWdlc2hha2VcIjtcbmltcG9ydCBTdHlsZWRDaGVja2JveCBmcm9tIFwiLi4vZWxlbWVudHMvU3R5bGVkQ2hlY2tib3hcIjtcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vLi4vLi4vTW9kYWxcIjtcbmltcG9ydCBJbmZvRGlhbG9nIGZyb20gXCIuL0luZm9EaWFsb2dcIjtcbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuLi9lbGVtZW50cy9BY2Nlc3NpYmxlQnV0dG9uXCI7XG5pbXBvcnQgZGVmYXVsdERpc3BhdGNoZXIgZnJvbSBcIi4uLy4uLy4uL2Rpc3BhdGNoZXIvZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHtBY3Rpb259IGZyb20gXCIuLi8uLi8uLi9kaXNwYXRjaGVyL2FjdGlvbnNcIjtcbmltcG9ydCB7VVNFUl9MQUJTX1RBQn0gZnJvbSBcIi4vVXNlclNldHRpbmdzRGlhbG9nXCI7XG5cbmludGVyZmFjZSBJUHJvcHMgZXh0ZW5kcyBJRGlhbG9nUHJvcHMge1xuICAgIGZlYXR1cmVJZDogc3RyaW5nO1xufVxuXG5jb25zdCBCZXRhRmVlZGJhY2tEaWFsb2c6IFJlYWN0LkZDPElQcm9wcz4gPSAoe2ZlYXR1cmVJZCwgb25GaW5pc2hlZH0pID0+IHtcbiAgICBjb25zdCBpbmZvID0gU2V0dGluZ3NTdG9yZS5nZXRCZXRhSW5mbyhmZWF0dXJlSWQpO1xuXG4gICAgY29uc3QgW2NvbW1lbnQsIHNldENvbW1lbnRdID0gdXNlU3RhdGUoXCJcIik7XG4gICAgY29uc3QgW2NhbkNvbnRhY3QsIHNldENhbkNvbnRhY3RdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3Qgc2VuZEZlZWRiYWNrID0gYXN5bmMgKG9rOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGlmICghb2spIHJldHVybiBvbkZpbmlzaGVkKGZhbHNlKTtcblxuICAgICAgICBzdWJtaXRGZWVkYmFjayhTZGtDb25maWcuZ2V0KCkuYnVnX3JlcG9ydF9lbmRwb2ludF91cmwsIGluZm8uZmVlZGJhY2tMYWJlbCwgY29tbWVudCwgY2FuQ29udGFjdCk7XG4gICAgICAgIG9uRmluaXNoZWQodHJ1ZSk7XG5cbiAgICAgICAgTW9kYWwuY3JlYXRlVHJhY2tlZERpYWxvZyhcIkJldGEgRGlhbG9nIFNlbnRcIiwgZmVhdHVyZUlkLCBJbmZvRGlhbG9nLCB7XG4gICAgICAgICAgICB0aXRsZTogX3QoXCJCZXRhIGZlZWRiYWNrXCIpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IF90KFwiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrLCB3ZSByZWFsbHkgYXBwcmVjaWF0ZSBpdC5cIiksXG4gICAgICAgICAgICBidXR0b246IF90KFwiRG9uZVwiKSxcbiAgICAgICAgICAgIGhhc0Nsb3NlQnV0dG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGZpeGVkV2lkdGg6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuICg8UXVlc3Rpb25EaWFsb2dcbiAgICAgICAgY2xhc3NOYW1lPVwibXhfQmV0YUZlZWRiYWNrRGlhbG9nXCJcbiAgICAgICAgaGFzQ2FuY2VsQnV0dG9uPXt0cnVlfVxuICAgICAgICB0aXRsZT17X3QoXCIlKGZlYXR1cmVOYW1lKXMgYmV0YSBmZWVkYmFja1wiLCB7IGZlYXR1cmVOYW1lOiBpbmZvLnRpdGxlIH0pfVxuICAgICAgICBkZXNjcmlwdGlvbj17PFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9CZXRhRmVlZGJhY2tEaWFsb2dfc3ViaGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIHsgX3QoaW5mby5mZWVkYmFja1N1YmhlYWRpbmcpIH1cbiAgICAgICAgICAgICAgICAmbmJzcDtcbiAgICAgICAgICAgICAgICB7IF90KFwiWW91ciBwbGF0Zm9ybSBhbmQgdXNlcm5hbWUgd2lsbCBiZSBub3RlZCB0byBoZWxwIHVzIHVzZSB5b3VyIGZlZWRiYWNrIGFzIG11Y2ggYXMgd2UgY2FuLlwiKX1cblxuICAgICAgICAgICAgICAgIDxBY2Nlc3NpYmxlQnV0dG9uIGtpbmQ9XCJsaW5rXCIgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBvbkZpbmlzaGVkKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdERpc3BhdGNoZXIuZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBY3Rpb24uVmlld1VzZXJTZXR0aW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxUYWJJZDogVVNFUl9MQUJTX1RBQixcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgIHsgX3QoXCJUbyBsZWF2ZSB0aGUgYmV0YSwgdmlzaXQgeW91ciBzZXR0aW5ncy5cIikgfVxuICAgICAgICAgICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8RmllbGRcbiAgICAgICAgICAgICAgICBpZD1cImZlZWRiYWNrQ29tbWVudFwiXG4gICAgICAgICAgICAgICAgbGFiZWw9e190KFwiRmVlZGJhY2tcIil9XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm9mZlwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e2NvbW1lbnR9XG4gICAgICAgICAgICAgICAgZWxlbWVudD1cInRleHRhcmVhXCJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGV2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldENvbW1lbnQoZXYudGFyZ2V0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1cz17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2NhbkNvbnRhY3R9XG4gICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBzZXRDYW5Db250YWN0KChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5jaGVja2VkKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7IF90KFwiWW91IG1heSBjb250YWN0IG1lIGlmIHlvdSBoYXZlIGFueSBmb2xsb3cgdXAgcXVlc3Rpb25zXCIpIH1cbiAgICAgICAgICAgIDwvU3R5bGVkQ2hlY2tib3g+XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+fVxuICAgICAgICBidXR0b249e190KFwiU2VuZCBmZWVkYmFja1wiKX1cbiAgICAgICAgYnV0dG9uRGlzYWJsZWQ9eyFjb21tZW50fVxuICAgICAgICBvbkZpbmlzaGVkPXtzZW5kRmVlZGJhY2t9XG4gICAgLz4pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmV0YUZlZWRiYWNrRGlhbG9nO1xuIl19