UNPKG

matrix-react-sdk

Version:
92 lines (89 loc) 12.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _AccessibleButton = _interopRequireDefault(require("./AccessibleButton")); var _languageHandler = require("../../../languageHandler"); var _TextWithTooltip = _interopRequireDefault(require("./TextWithTooltip")); var _SdkConfig = _interopRequireDefault(require("../../../SdkConfig")); var _Modal = _interopRequireDefault(require("../../../Modal")); var _ServerPickerDialog = _interopRequireDefault(require("../dialogs/ServerPickerDialog")); var _InfoDialog = _interopRequireDefault(require("../dialogs/InfoDialog")); /* Copyright 2024 New Vector Ltd. Copyright 2020, 2021 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 showPickerDialog = (title, serverConfig, onFinished) => { _Modal.default.createDialog(_ServerPickerDialog.default, { title, serverConfig, onFinished }); }; const onHelpClick = () => { const brand = _SdkConfig.default.get().brand; _Modal.default.createDialog(_InfoDialog.default, { title: (0, _languageHandler._t)("auth|server_picker_title_default"), description: (0, _languageHandler._t)("auth|server_picker_description", { brand }), button: (0, _languageHandler._t)("action|dismiss"), hasCloseButton: false, fixedWidth: false }, "mx_ServerPicker_helpDialog"); }; const ServerPicker = ({ title, dialogTitle, serverConfig, onServerConfigChange, disabled }) => { const disableCustomUrls = _SdkConfig.default.get("disable_custom_urls"); let editBtn; if (!disableCustomUrls && onServerConfigChange) { const onClick = () => { showPickerDialog(dialogTitle, serverConfig, config => { if (config) { onServerConfigChange(config); } }); }; editBtn = /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { className: "mx_ServerPicker_change", kind: "link", onClick: onClick, disabled: disabled }, (0, _languageHandler._t)("action|edit")); } let serverName = serverConfig.isNameResolvable ? serverConfig.hsName : serverConfig.hsUrl; if (serverConfig.hsNameIsDifferent) { serverName = /*#__PURE__*/_react.default.createElement(_TextWithTooltip.default, { className: "mx_Login_underlinedServerName", tooltip: serverConfig.hsUrl }, serverConfig.hsName); } let desc; if (serverConfig.hsName === "matrix.org") { desc = /*#__PURE__*/_react.default.createElement("span", { className: "mx_ServerPicker_desc" }, (0, _languageHandler._t)("auth|server_picker_description_matrix.org")); } return /*#__PURE__*/_react.default.createElement("div", { className: "mx_ServerPicker" }, /*#__PURE__*/_react.default.createElement("h2", null, title || (0, _languageHandler._t)("common|homeserver")), !disableCustomUrls ? /*#__PURE__*/_react.default.createElement(_AccessibleButton.default, { className: "mx_ServerPicker_help", onClick: onHelpClick, "aria-label": (0, _languageHandler._t)("common|help") }) : null, /*#__PURE__*/_react.default.createElement("span", { className: "mx_ServerPicker_server", title: typeof serverName === "string" ? serverName : undefined }, serverName), editBtn, desc); }; var _default = exports.default = ServerPicker; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9BY2Nlc3NpYmxlQnV0dG9uIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9UZXh0V2l0aFRvb2x0aXAiLCJfU2RrQ29uZmlnIiwiX01vZGFsIiwiX1NlcnZlclBpY2tlckRpYWxvZyIsIl9JbmZvRGlhbG9nIiwic2hvd1BpY2tlckRpYWxvZyIsInRpdGxlIiwic2VydmVyQ29uZmlnIiwib25GaW5pc2hlZCIsIk1vZGFsIiwiY3JlYXRlRGlhbG9nIiwiU2VydmVyUGlja2VyRGlhbG9nIiwib25IZWxwQ2xpY2siLCJicmFuZCIsIlNka0NvbmZpZyIsImdldCIsIkluZm9EaWFsb2ciLCJfdCIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwiaGFzQ2xvc2VCdXR0b24iLCJmaXhlZFdpZHRoIiwiU2VydmVyUGlja2VyIiwiZGlhbG9nVGl0bGUiLCJvblNlcnZlckNvbmZpZ0NoYW5nZSIsImRpc2FibGVkIiwiZGlzYWJsZUN1c3RvbVVybHMiLCJlZGl0QnRuIiwib25DbGljayIsImNvbmZpZyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwia2luZCIsInNlcnZlck5hbWUiLCJpc05hbWVSZXNvbHZhYmxlIiwiaHNOYW1lIiwiaHNVcmwiLCJoc05hbWVJc0RpZmZlcmVudCIsInRvb2x0aXAiLCJkZXNjIiwidW5kZWZpbmVkIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvZWxlbWVudHMvU2VydmVyUGlja2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCwgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCBBY2Nlc3NpYmxlQnV0dG9uIGZyb20gXCIuL0FjY2Vzc2libGVCdXR0b25cIjtcbmltcG9ydCB7IFZhbGlkYXRlZFNlcnZlckNvbmZpZyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9WYWxpZGF0ZWRTZXJ2ZXJDb25maWdcIjtcbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uLy4uLy4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IFRleHRXaXRoVG9vbHRpcCBmcm9tIFwiLi9UZXh0V2l0aFRvb2x0aXBcIjtcbmltcG9ydCBTZGtDb25maWcgZnJvbSBcIi4uLy4uLy4uL1Nka0NvbmZpZ1wiO1xuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi8uLi9Nb2RhbFwiO1xuaW1wb3J0IFNlcnZlclBpY2tlckRpYWxvZyBmcm9tIFwiLi4vZGlhbG9ncy9TZXJ2ZXJQaWNrZXJEaWFsb2dcIjtcbmltcG9ydCBJbmZvRGlhbG9nIGZyb20gXCIuLi9kaWFsb2dzL0luZm9EaWFsb2dcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgZGlhbG9nVGl0bGU/OiBzdHJpbmc7XG4gICAgc2VydmVyQ29uZmlnOiBWYWxpZGF0ZWRTZXJ2ZXJDb25maWc7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIG9uU2VydmVyQ29uZmlnQ2hhbmdlPyhjb25maWc6IFZhbGlkYXRlZFNlcnZlckNvbmZpZyk6IHZvaWQ7XG59XG5cbmNvbnN0IHNob3dQaWNrZXJEaWFsb2cgPSAoXG4gICAgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBzZXJ2ZXJDb25maWc6IFZhbGlkYXRlZFNlcnZlckNvbmZpZyxcbiAgICBvbkZpbmlzaGVkOiAoY29uZmlnOiBWYWxpZGF0ZWRTZXJ2ZXJDb25maWcpID0+IHZvaWQsXG4pOiB2b2lkID0+IHtcbiAgICBNb2RhbC5jcmVhdGVEaWFsb2coU2VydmVyUGlja2VyRGlhbG9nLCB7IHRpdGxlLCBzZXJ2ZXJDb25maWcsIG9uRmluaXNoZWQgfSk7XG59O1xuXG5jb25zdCBvbkhlbHBDbGljayA9ICgpOiB2b2lkID0+IHtcbiAgICBjb25zdCBicmFuZCA9IFNka0NvbmZpZy5nZXQoKS5icmFuZDtcbiAgICBNb2RhbC5jcmVhdGVEaWFsb2coXG4gICAgICAgIEluZm9EaWFsb2csXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiBfdChcImF1dGh8c2VydmVyX3BpY2tlcl90aXRsZV9kZWZhdWx0XCIpLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IF90KFwiYXV0aHxzZXJ2ZXJfcGlja2VyX2Rlc2NyaXB0aW9uXCIsIHsgYnJhbmQgfSksXG4gICAgICAgICAgICBidXR0b246IF90KFwiYWN0aW9ufGRpc21pc3NcIiksXG4gICAgICAgICAgICBoYXNDbG9zZUJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICBmaXhlZFdpZHRoOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgXCJteF9TZXJ2ZXJQaWNrZXJfaGVscERpYWxvZ1wiLFxuICAgICk7XG59O1xuXG5jb25zdCBTZXJ2ZXJQaWNrZXI6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyB0aXRsZSwgZGlhbG9nVGl0bGUsIHNlcnZlckNvbmZpZywgb25TZXJ2ZXJDb25maWdDaGFuZ2UsIGRpc2FibGVkIH0pID0+IHtcbiAgICBjb25zdCBkaXNhYmxlQ3VzdG9tVXJscyA9IFNka0NvbmZpZy5nZXQoXCJkaXNhYmxlX2N1c3RvbV91cmxzXCIpO1xuXG4gICAgbGV0IGVkaXRCdG47XG4gICAgaWYgKCFkaXNhYmxlQ3VzdG9tVXJscyAmJiBvblNlcnZlckNvbmZpZ0NoYW5nZSkge1xuICAgICAgICBjb25zdCBvbkNsaWNrID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgc2hvd1BpY2tlckRpYWxvZyhkaWFsb2dUaXRsZSwgc2VydmVyQ29uZmlnLCAoY29uZmlnPzogVmFsaWRhdGVkU2VydmVyQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBvblNlcnZlckNvbmZpZ0NoYW5nZShjb25maWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBlZGl0QnRuID0gKFxuICAgICAgICAgICAgPEFjY2Vzc2libGVCdXR0b24gY2xhc3NOYW1lPVwibXhfU2VydmVyUGlja2VyX2NoYW5nZVwiIGtpbmQ9XCJsaW5rXCIgb25DbGljaz17b25DbGlja30gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgICAgICAgICAgICB7X3QoXCJhY3Rpb258ZWRpdFwiKX1cbiAgICAgICAgICAgIDwvQWNjZXNzaWJsZUJ1dHRvbj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VydmVyTmFtZTogUmVhY3QuUmVhY3ROb2RlID0gc2VydmVyQ29uZmlnLmlzTmFtZVJlc29sdmFibGUgPyBzZXJ2ZXJDb25maWcuaHNOYW1lIDogc2VydmVyQ29uZmlnLmhzVXJsO1xuICAgIGlmIChzZXJ2ZXJDb25maWcuaHNOYW1lSXNEaWZmZXJlbnQpIHtcbiAgICAgICAgc2VydmVyTmFtZSA9IChcbiAgICAgICAgICAgIDxUZXh0V2l0aFRvb2x0aXAgY2xhc3NOYW1lPVwibXhfTG9naW5fdW5kZXJsaW5lZFNlcnZlck5hbWVcIiB0b29sdGlwPXtzZXJ2ZXJDb25maWcuaHNVcmx9PlxuICAgICAgICAgICAgICAgIHtzZXJ2ZXJDb25maWcuaHNOYW1lfVxuICAgICAgICAgICAgPC9UZXh0V2l0aFRvb2x0aXA+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGRlc2M7XG4gICAgaWYgKHNlcnZlckNvbmZpZy5oc05hbWUgPT09IFwibWF0cml4Lm9yZ1wiKSB7XG4gICAgICAgIGRlc2MgPSA8c3BhbiBjbGFzc05hbWU9XCJteF9TZXJ2ZXJQaWNrZXJfZGVzY1wiPntfdChcImF1dGh8c2VydmVyX3BpY2tlcl9kZXNjcmlwdGlvbl9tYXRyaXgub3JnXCIpfTwvc3Bhbj47XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteF9TZXJ2ZXJQaWNrZXJcIj5cbiAgICAgICAgICAgIDxoMj57dGl0bGUgfHwgX3QoXCJjb21tb258aG9tZXNlcnZlclwiKX08L2gyPlxuICAgICAgICAgICAgeyFkaXNhYmxlQ3VzdG9tVXJscyA/IChcbiAgICAgICAgICAgICAgICA8QWNjZXNzaWJsZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9TZXJ2ZXJQaWNrZXJfaGVscFwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uSGVscENsaWNrfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtfdChcImNvbW1vbnxoZWxwXCIpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm14X1NlcnZlclBpY2tlcl9zZXJ2ZXJcIiB0aXRsZT17dHlwZW9mIHNlcnZlck5hbWUgPT09IFwic3RyaW5nXCIgPyBzZXJ2ZXJOYW1lIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgICAgICB7c2VydmVyTmFtZX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIHtlZGl0QnRufVxuICAgICAgICAgICAge2Rlc2N9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZXJ2ZXJQaWNrZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtB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