matrix-react-sdk
Version:
SDK for matrix.org using React
92 lines (89 loc) • 12.8 kB
JavaScript
;
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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