UNPKG

matrix-react-sdk

Version:
83 lines (78 loc) 10.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.SAFE_LOCALPART_REGEX = void 0; exports.startAnyRegistrationFlow = startAnyRegistrationFlow; var _react = _interopRequireDefault(require("react")); var _dispatcher = _interopRequireDefault(require("./dispatcher/dispatcher")); var _Modal = _interopRequireDefault(require("./Modal")); var _languageHandler = require("./languageHandler"); var _QuestionDialog = _interopRequireDefault(require("./components/views/dialogs/QuestionDialog")); var _actions = require("./dispatcher/actions"); var _SettingsStore = _interopRequireDefault(require("./settings/SettingsStore")); var _UIFeature = require("./settings/UIFeature"); /* Copyright 2018-2024 New Vector Ltd. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Utility code for registering with a homeserver * Note that this is currently *not* used by the actual * registration code. */ // Regex for what a "safe" or "Matrix-looking" localpart would be. // TODO: Update as needed for https://github.com/matrix-org/matrix-doc/issues/1514 const SAFE_LOCALPART_REGEX = exports.SAFE_LOCALPART_REGEX = /^[a-z0-9=_\-./]+$/; /** * Starts either the ILAG or full registration flow, depending * on what the HS supports * * @param {object} options * @param {bool} options.go_home_on_cancel * If true, goes to the home page if the user cancels the action * @param {bool} options.go_welcome_on_cancel * If true, goes to the welcome page if the user cancels the action * @param {bool} options.screen_after * If present the screen to redirect to after a successful login or register. */ async function startAnyRegistrationFlow( // eslint-disable-next-line camelcase options = {}) { const modal = _Modal.default.createDialog(_QuestionDialog.default, { hasCancelButton: true, quitOnly: true, title: _SettingsStore.default.getValue(_UIFeature.UIFeature.Registration) ? (0, _languageHandler._t)("auth|sign_in_or_register") : (0, _languageHandler._t)("action|sign_in"), description: _SettingsStore.default.getValue(_UIFeature.UIFeature.Registration) ? (0, _languageHandler._t)("auth|sign_in_or_register_description") : (0, _languageHandler._t)("auth|sign_in_description"), button: (0, _languageHandler._t)("action|sign_in"), extraButtons: _SettingsStore.default.getValue(_UIFeature.UIFeature.Registration) ? [/*#__PURE__*/_react.default.createElement("button", { key: "register", onClick: () => { modal.close(); _dispatcher.default.dispatch({ action: "start_registration", screenAfterLogin: options.screen_after }); } }, (0, _languageHandler._t)("auth|register_action"))] : [], onFinished: proceed => { if (proceed) { _dispatcher.default.dispatch({ action: "start_login", screenAfterLogin: options.screen_after }); } else if (options.go_home_on_cancel) { _dispatcher.default.dispatch({ action: _actions.Action.ViewHomePage }); } else if (options.go_welcome_on_cancel) { _dispatcher.default.dispatch({ action: "view_welcome_page" }); } } }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kaXNwYXRjaGVyIiwiX01vZGFsIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9RdWVzdGlvbkRpYWxvZyIsIl9hY3Rpb25zIiwiX1NldHRpbmdzU3RvcmUiLCJfVUlGZWF0dXJlIiwiU0FGRV9MT0NBTFBBUlRfUkVHRVgiLCJleHBvcnRzIiwic3RhcnRBbnlSZWdpc3RyYXRpb25GbG93Iiwib3B0aW9ucyIsIm1vZGFsIiwiTW9kYWwiLCJjcmVhdGVEaWFsb2ciLCJRdWVzdGlvbkRpYWxvZyIsImhhc0NhbmNlbEJ1dHRvbiIsInF1aXRPbmx5IiwidGl0bGUiLCJTZXR0aW5nc1N0b3JlIiwiZ2V0VmFsdWUiLCJVSUZlYXR1cmUiLCJSZWdpc3RyYXRpb24iLCJfdCIsImRlc2NyaXB0aW9uIiwiYnV0dG9uIiwiZXh0cmFCdXR0b25zIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJvbkNsaWNrIiwiY2xvc2UiLCJkaXMiLCJkaXNwYXRjaCIsImFjdGlvbiIsInNjcmVlbkFmdGVyTG9naW4iLCJzY3JlZW5fYWZ0ZXIiLCJvbkZpbmlzaGVkIiwicHJvY2VlZCIsImdvX2hvbWVfb25fY2FuY2VsIiwiQWN0aW9uIiwiVmlld0hvbWVQYWdlIiwiZ29fd2VsY29tZV9vbl9jYW5jZWwiXSwic291cmNlcyI6WyIuLi9zcmMvUmVnaXN0cmF0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMTgtMjAyNCBOZXcgVmVjdG9yIEx0ZC5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuLyoqXG4gKiBVdGlsaXR5IGNvZGUgZm9yIHJlZ2lzdGVyaW5nIHdpdGggYSBob21lc2VydmVyXG4gKiBOb3RlIHRoYXQgdGhpcyBpcyBjdXJyZW50bHkgKm5vdCogdXNlZCBieSB0aGUgYWN0dWFsXG4gKiByZWdpc3RyYXRpb24gY29kZS5cbiAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCBkaXMgZnJvbSBcIi4vZGlzcGF0Y2hlci9kaXNwYXRjaGVyXCI7XG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4vTW9kYWxcIjtcbmltcG9ydCB7IF90IH0gZnJvbSBcIi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgUXVlc3Rpb25EaWFsb2cgZnJvbSBcIi4vY29tcG9uZW50cy92aWV3cy9kaWFsb2dzL1F1ZXN0aW9uRGlhbG9nXCI7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiLi9kaXNwYXRjaGVyL2FjdGlvbnNcIjtcbmltcG9ydCBTZXR0aW5nc1N0b3JlIGZyb20gXCIuL3NldHRpbmdzL1NldHRpbmdzU3RvcmVcIjtcbmltcG9ydCB7IFVJRmVhdHVyZSB9IGZyb20gXCIuL3NldHRpbmdzL1VJRmVhdHVyZVwiO1xuXG4vLyBSZWdleCBmb3Igd2hhdCBhIFwic2FmZVwiIG9yIFwiTWF0cml4LWxvb2tpbmdcIiBsb2NhbHBhcnQgd291bGQgYmUuXG4vLyBUT0RPOiBVcGRhdGUgYXMgbmVlZGVkIGZvciBodHRwczovL2dpdGh1Yi5jb20vbWF0cml4LW9yZy9tYXRyaXgtZG9jL2lzc3Vlcy8xNTE0XG5leHBvcnQgY29uc3QgU0FGRV9MT0NBTFBBUlRfUkVHRVggPSAvXlthLXowLTk9X1xcLS4vXSskLztcblxuLyoqXG4gKiBTdGFydHMgZWl0aGVyIHRoZSBJTEFHIG9yIGZ1bGwgcmVnaXN0cmF0aW9uIGZsb3csIGRlcGVuZGluZ1xuICogb24gd2hhdCB0aGUgSFMgc3VwcG9ydHNcbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtIHtib29sfSBvcHRpb25zLmdvX2hvbWVfb25fY2FuY2VsXG4gKiAgICAgSWYgdHJ1ZSwgZ29lcyB0byB0aGUgaG9tZSBwYWdlIGlmIHRoZSB1c2VyIGNhbmNlbHMgdGhlIGFjdGlvblxuICogQHBhcmFtIHtib29sfSBvcHRpb25zLmdvX3dlbGNvbWVfb25fY2FuY2VsXG4gKiAgICAgSWYgdHJ1ZSwgZ29lcyB0byB0aGUgd2VsY29tZSBwYWdlIGlmIHRoZSB1c2VyIGNhbmNlbHMgdGhlIGFjdGlvblxuICogQHBhcmFtIHtib29sfSBvcHRpb25zLnNjcmVlbl9hZnRlclxuICogICAgIElmIHByZXNlbnQgdGhlIHNjcmVlbiB0byByZWRpcmVjdCB0byBhZnRlciBhIHN1Y2Nlc3NmdWwgbG9naW4gb3IgcmVnaXN0ZXIuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdGFydEFueVJlZ2lzdHJhdGlvbkZsb3coXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNhbWVsY2FzZVxuICAgIG9wdGlvbnM6IHsgZ29faG9tZV9vbl9jYW5jZWw/OiBib29sZWFuOyBnb193ZWxjb21lX29uX2NhbmNlbD86IGJvb2xlYW47IHNjcmVlbl9hZnRlcj86IGJvb2xlYW4gfSA9IHt9LFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kYWwgPSBNb2RhbC5jcmVhdGVEaWFsb2coUXVlc3Rpb25EaWFsb2csIHtcbiAgICAgICAgaGFzQ2FuY2VsQnV0dG9uOiB0cnVlLFxuICAgICAgICBxdWl0T25seTogdHJ1ZSxcbiAgICAgICAgdGl0bGU6IFNldHRpbmdzU3RvcmUuZ2V0VmFsdWUoVUlGZWF0dXJlLlJlZ2lzdHJhdGlvbikgPyBfdChcImF1dGh8c2lnbl9pbl9vcl9yZWdpc3RlclwiKSA6IF90KFwiYWN0aW9ufHNpZ25faW5cIiksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBTZXR0aW5nc1N0b3JlLmdldFZhbHVlKFVJRmVhdHVyZS5SZWdpc3RyYXRpb24pXG4gICAgICAgICAgICA/IF90KFwiYXV0aHxzaWduX2luX29yX3JlZ2lzdGVyX2Rlc2NyaXB0aW9uXCIpXG4gICAgICAgICAgICA6IF90KFwiYXV0aHxzaWduX2luX2Rlc2NyaXB0aW9uXCIpLFxuICAgICAgICBidXR0b246IF90KFwiYWN0aW9ufHNpZ25faW5cIiksXG4gICAgICAgIGV4dHJhQnV0dG9uczogU2V0dGluZ3NTdG9yZS5nZXRWYWx1ZShVSUZlYXR1cmUuUmVnaXN0cmF0aW9uKVxuICAgICAgICAgICAgPyBbXG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAga2V5PVwicmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kYWwuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzLmRpc3BhdGNoKHsgYWN0aW9uOiBcInN0YXJ0X3JlZ2lzdHJhdGlvblwiLCBzY3JlZW5BZnRlckxvZ2luOiBvcHRpb25zLnNjcmVlbl9hZnRlciB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtfdChcImF1dGh8cmVnaXN0ZXJfYWN0aW9uXCIpfVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+LFxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICA6IFtdLFxuICAgICAgICBvbkZpbmlzaGVkOiAocHJvY2VlZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHByb2NlZWQpIHtcbiAgICAgICAgICAgICAgICBkaXMuZGlzcGF0Y2goeyBhY3Rpb246IFwic3RhcnRfbG9naW5cIiwgc2NyZWVuQWZ0ZXJMb2dpbjogb3B0aW9ucy5zY3JlZW5fYWZ0ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZ29faG9tZV9vbl9jYW5jZWwpIHtcbiAgICAgICAgICAgICAgICBkaXMuZGlzcGF0Y2goeyBhY3Rpb246IEFjdGlvbi5WaWV3SG9tZVBhZ2UgfSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZ29fd2VsY29tZV9vbl9jYW5jZWwpIHtcbiAgICAgICAgICAgICAgICBkaXMuZGlzcGF0Y2goeyBhY3Rpb246IFwidmlld193ZWxjb21lX3BhZ2VcIiB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFhQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxnQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sY0FBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVlBO0FBQ0E7QUFDTyxNQUFNUSxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxHQUFHLG1CQUFtQjs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sZUFBZUUsd0JBQXdCQTtBQUMxQztBQUNBQyxPQUFnRyxHQUFHLENBQUMsQ0FBQyxFQUN4RjtFQUNiLE1BQU1DLEtBQUssR0FBR0MsY0FBSyxDQUFDQyxZQUFZLENBQUNDLHVCQUFjLEVBQUU7SUFDN0NDLGVBQWUsRUFBRSxJQUFJO0lBQ3JCQyxRQUFRLEVBQUUsSUFBSTtJQUNkQyxLQUFLLEVBQUVDLHNCQUFhLENBQUNDLFFBQVEsQ0FBQ0Msb0JBQVMsQ0FBQ0MsWUFBWSxDQUFDLEdBQUcsSUFBQUMsbUJBQUUsRUFBQywwQkFBMEIsQ0FBQyxHQUFHLElBQUFBLG1CQUFFLEVBQUMsZ0JBQWdCLENBQUM7SUFDN0dDLFdBQVcsRUFBRUwsc0JBQWEsQ0FBQ0MsUUFBUSxDQUFDQyxvQkFBUyxDQUFDQyxZQUFZLENBQUMsR0FDckQsSUFBQUMsbUJBQUUsRUFBQyxzQ0FBc0MsQ0FBQyxHQUMxQyxJQUFBQSxtQkFBRSxFQUFDLDBCQUEwQixDQUFDO0lBQ3BDRSxNQUFNLEVBQUUsSUFBQUYsbUJBQUUsRUFBQyxnQkFBZ0IsQ0FBQztJQUM1QkcsWUFBWSxFQUFFUCxzQkFBYSxDQUFDQyxRQUFRLENBQUNDLG9CQUFTLENBQUNDLFlBQVksQ0FBQyxHQUN0RCxjQUNJeEIsTUFBQSxDQUFBNkIsT0FBQSxDQUFBQyxhQUFBO01BQ0lDLEdBQUcsRUFBQyxVQUFVO01BQ2RDLE9BQU8sRUFBRUEsQ0FBQSxLQUFNO1FBQ1hsQixLQUFLLENBQUNtQixLQUFLLENBQUMsQ0FBQztRQUNiQyxtQkFBRyxDQUFDQyxRQUFRLENBQUM7VUFBRUMsTUFBTSxFQUFFLG9CQUFvQjtVQUFFQyxnQkFBZ0IsRUFBRXhCLE9BQU8sQ0FBQ3lCO1FBQWEsQ0FBQyxDQUFDO01BQzFGO0lBQUUsR0FFRCxJQUFBYixtQkFBRSxFQUFDLHNCQUFzQixDQUN0QixDQUFDLENBQ1osR0FDRCxFQUFFO0lBQ1JjLFVBQVUsRUFBR0MsT0FBTyxJQUFLO01BQ3JCLElBQUlBLE9BQU8sRUFBRTtRQUNUTixtQkFBRyxDQUFDQyxRQUFRLENBQUM7VUFBRUMsTUFBTSxFQUFFLGFBQWE7VUFBRUMsZ0JBQWdCLEVBQUV4QixPQUFPLENBQUN5QjtRQUFhLENBQUMsQ0FBQztNQUNuRixDQUFDLE1BQU0sSUFBSXpCLE9BQU8sQ0FBQzRCLGlCQUFpQixFQUFFO1FBQ2xDUCxtQkFBRyxDQUFDQyxRQUFRLENBQUM7VUFBRUMsTUFBTSxFQUFFTSxlQUFNLENBQUNDO1FBQWEsQ0FBQyxDQUFDO01BQ2pELENBQUMsTUFBTSxJQUFJOUIsT0FBTyxDQUFDK0Isb0JBQW9CLEVBQUU7UUFDckNWLG1CQUFHLENBQUNDLFFBQVEsQ0FBQztVQUFFQyxNQUFNLEVBQUU7UUFBb0IsQ0FBQyxDQUFDO01BQ2pEO0lBQ0o7RUFDSixDQUFDLENBQUM7QUFDTiIsImlnbm9yZUxpc3QiOltdfQ==