UNPKG

matrix-react-sdk

Version:
106 lines (103 loc) 19.1 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.UserPersonalInfoSettings = void 0; var _react = _interopRequireWildcard(require("react")); var _matrix = require("matrix-js-sdk/src/matrix"); var _compoundWeb = require("@vector-im/compound-web"); var _languageHandler = require("../../../languageHandler"); var _InlineSpinner = _interopRequireDefault(require("../elements/InlineSpinner")); var _SettingsSubsection = _interopRequireDefault(require("./shared/SettingsSubsection")); var _MatrixClientContext = require("../../../contexts/MatrixClientContext"); var _SettingsStore = _interopRequireDefault(require("../../../settings/SettingsStore")); var _UIFeature = require("../../../settings/UIFeature"); var _AddRemoveThreepids = require("./AddRemoveThreepids"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 2024 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 ThreepidSectionWrapper = ({ error, loadingState, children }) => { if (loadingState === "loading") { return /*#__PURE__*/_react.default.createElement(_InlineSpinner.default, null); } else if (loadingState === "error") { return /*#__PURE__*/_react.default.createElement(_compoundWeb.Alert, { type: "critical", title: (0, _languageHandler._t)("common|error") }, error); } else { return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children); } }; /** * Settings controls allowing the user to set personal information like email addresses. */ const UserPersonalInfoSettings = ({ canMake3pidChanges }) => { const [emails, setEmails] = (0, _react.useState)(); const [phoneNumbers, setPhoneNumbers] = (0, _react.useState)(); const [loadingState, setLoadingState] = (0, _react.useState)("loading"); const client = (0, _MatrixClientContext.useMatrixClientContext)(); const updateThreepids = (0, _react.useCallback)(async () => { try { const threepids = await client.getThreePids(); setEmails(threepids.threepids.filter(a => a.medium === _matrix.ThreepidMedium.Email)); setPhoneNumbers(threepids.threepids.filter(a => a.medium === _matrix.ThreepidMedium.Phone)); setLoadingState("loaded"); } catch (e) { setLoadingState("error"); } }, [client]); (0, _react.useEffect)(() => { updateThreepids().then(); }, [updateThreepids]); const onEmailsChange = (0, _react.useCallback)(() => { updateThreepids().then(); }, [updateThreepids]); const onMsisdnsChange = (0, _react.useCallback)(() => { updateThreepids().then(); }, [updateThreepids]); if (!_SettingsStore.default.getValue(_UIFeature.UIFeature.ThirdPartyID)) return null; return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h2", null, (0, _languageHandler._t)("settings|general|personal_info")), /*#__PURE__*/_react.default.createElement(_SettingsSubsection.default, { heading: (0, _languageHandler._t)("settings|general|emails_heading"), stretchContent: true, "data-testid": "mx_AccountEmailAddresses" }, /*#__PURE__*/_react.default.createElement(ThreepidSectionWrapper, { error: (0, _languageHandler._t)("settings|general|unable_to_load_emails"), loadingState: loadingState }, /*#__PURE__*/_react.default.createElement(_AddRemoveThreepids.AddRemoveThreepids, { mode: "hs", medium: _matrix.ThreepidMedium.Email, threepids: emails, onChange: onEmailsChange, disabled: !canMake3pidChanges, isLoading: loadingState === "loading" }))), /*#__PURE__*/_react.default.createElement(_SettingsSubsection.default, { heading: (0, _languageHandler._t)("settings|general|msisdns_heading"), stretchContent: true, "data-testid": "mx_AccountPhoneNumbers" }, /*#__PURE__*/_react.default.createElement(ThreepidSectionWrapper, { error: (0, _languageHandler._t)("settings|general|unable_to_load_msisdns"), loadingState: loadingState }, /*#__PURE__*/_react.default.createElement(_AddRemoveThreepids.AddRemoveThreepids, { mode: "hs", medium: _matrix.ThreepidMedium.Phone, threepids: phoneNumbers, onChange: onMsisdnsChange, disabled: !canMake3pidChanges, isLoading: loadingState === "loading" })))); }; exports.UserPersonalInfoSettings = UserPersonalInfoSettings; var _default = exports.default = UserPersonalInfoSettings; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbWF0cml4IiwiX2NvbXBvdW5kV2ViIiwiX2xhbmd1YWdlSGFuZGxlciIsIl9JbmxpbmVTcGlubmVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9TZXR0aW5nc1N1YnNlY3Rpb24iLCJfTWF0cml4Q2xpZW50Q29udGV4dCIsIl9TZXR0aW5nc1N0b3JlIiwiX1VJRmVhdHVyZSIsIl9BZGRSZW1vdmVUaHJlZXBpZHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJUaHJlZXBpZFNlY3Rpb25XcmFwcGVyIiwiZXJyb3IiLCJsb2FkaW5nU3RhdGUiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJBbGVydCIsInR5cGUiLCJ0aXRsZSIsIl90IiwiRnJhZ21lbnQiLCJVc2VyUGVyc29uYWxJbmZvU2V0dGluZ3MiLCJjYW5NYWtlM3BpZENoYW5nZXMiLCJlbWFpbHMiLCJzZXRFbWFpbHMiLCJ1c2VTdGF0ZSIsInBob25lTnVtYmVycyIsInNldFBob25lTnVtYmVycyIsInNldExvYWRpbmdTdGF0ZSIsImNsaWVudCIsInVzZU1hdHJpeENsaWVudENvbnRleHQiLCJ1cGRhdGVUaHJlZXBpZHMiLCJ1c2VDYWxsYmFjayIsInRocmVlcGlkcyIsImdldFRocmVlUGlkcyIsImZpbHRlciIsIm1lZGl1bSIsIlRocmVlcGlkTWVkaXVtIiwiRW1haWwiLCJQaG9uZSIsInVzZUVmZmVjdCIsInRoZW4iLCJvbkVtYWlsc0NoYW5nZSIsIm9uTXNpc2Ruc0NoYW5nZSIsIlNldHRpbmdzU3RvcmUiLCJnZXRWYWx1ZSIsIlVJRmVhdHVyZSIsIlRoaXJkUGFydHlJRCIsImhlYWRpbmciLCJzdHJldGNoQ29udGVudCIsIkFkZFJlbW92ZVRocmVlcGlkcyIsIm1vZGUiLCJvbkNoYW5nZSIsImRpc2FibGVkIiwiaXNMb2FkaW5nIiwiZXhwb3J0cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3Mvc2V0dGluZ3MvVXNlclBlcnNvbmFsSW5mb1NldHRpbmdzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyNCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFRocmVlcGlkTWVkaXVtIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tIFwiQHZlY3Rvci1pbS9jb21wb3VuZC13ZWJcIjtcblxuaW1wb3J0IHsgX3QgfSBmcm9tIFwiLi4vLi4vLi4vbGFuZ3VhZ2VIYW5kbGVyXCI7XG5pbXBvcnQgSW5saW5lU3Bpbm5lciBmcm9tIFwiLi4vZWxlbWVudHMvSW5saW5lU3Bpbm5lclwiO1xuaW1wb3J0IFNldHRpbmdzU3Vic2VjdGlvbiBmcm9tIFwiLi9zaGFyZWQvU2V0dGluZ3NTdWJzZWN0aW9uXCI7XG5pbXBvcnQgeyB1c2VNYXRyaXhDbGllbnRDb250ZXh0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbnRleHRzL01hdHJpeENsaWVudENvbnRleHRcIjtcbmltcG9ydCB7IFRoaXJkUGFydHlJZGVudGlmaWVyIH0gZnJvbSBcIi4uLy4uLy4uL0FkZFRocmVlcGlkXCI7XG5pbXBvcnQgU2V0dGluZ3NTdG9yZSBmcm9tIFwiLi4vLi4vLi4vc2V0dGluZ3MvU2V0dGluZ3NTdG9yZVwiO1xuaW1wb3J0IHsgVUlGZWF0dXJlIH0gZnJvbSBcIi4uLy4uLy4uL3NldHRpbmdzL1VJRmVhdHVyZVwiO1xuaW1wb3J0IHsgQWRkUmVtb3ZlVGhyZWVwaWRzIH0gZnJvbSBcIi4vQWRkUmVtb3ZlVGhyZWVwaWRzXCI7XG5cbnR5cGUgTG9hZGluZ1N0YXRlID0gXCJsb2FkaW5nXCIgfCBcImxvYWRlZFwiIHwgXCJlcnJvclwiO1xuXG5pbnRlcmZhY2UgVGhyZWVwaWRTZWN0aW9uV3JhcHBlclByb3BzIHtcbiAgICBlcnJvcjogc3RyaW5nO1xuICAgIGxvYWRpbmdTdGF0ZTogTG9hZGluZ1N0YXRlO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmNvbnN0IFRocmVlcGlkU2VjdGlvbldyYXBwZXI6IFJlYWN0LkZDPFRocmVlcGlkU2VjdGlvbldyYXBwZXJQcm9wcz4gPSAoeyBlcnJvciwgbG9hZGluZ1N0YXRlLCBjaGlsZHJlbiB9KSA9PiB7XG4gICAgaWYgKGxvYWRpbmdTdGF0ZSA9PT0gXCJsb2FkaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIDxJbmxpbmVTcGlubmVyIC8+O1xuICAgIH0gZWxzZSBpZiAobG9hZGluZ1N0YXRlID09PSBcImVycm9yXCIpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxBbGVydCB0eXBlPVwiY3JpdGljYWxcIiB0aXRsZT17X3QoXCJjb21tb258ZXJyb3JcIil9PlxuICAgICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvQWxlcnQ+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcbiAgICB9XG59O1xuXG5pbnRlcmZhY2UgVXNlclBlcnNvbmFsSW5mb1NldHRpbmdzUHJvcHMge1xuICAgIGNhbk1ha2UzcGlkQ2hhbmdlczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTZXR0aW5ncyBjb250cm9scyBhbGxvd2luZyB0aGUgdXNlciB0byBzZXQgcGVyc29uYWwgaW5mb3JtYXRpb24gbGlrZSBlbWFpbCBhZGRyZXNzZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBVc2VyUGVyc29uYWxJbmZvU2V0dGluZ3M6IFJlYWN0LkZDPFVzZXJQZXJzb25hbEluZm9TZXR0aW5nc1Byb3BzPiA9ICh7IGNhbk1ha2UzcGlkQ2hhbmdlcyB9KSA9PiB7XG4gICAgY29uc3QgW2VtYWlscywgc2V0RW1haWxzXSA9IHVzZVN0YXRlPFRoaXJkUGFydHlJZGVudGlmaWVyW10gfCB1bmRlZmluZWQ+KCk7XG4gICAgY29uc3QgW3Bob25lTnVtYmVycywgc2V0UGhvbmVOdW1iZXJzXSA9IHVzZVN0YXRlPFRoaXJkUGFydHlJZGVudGlmaWVyW10gfCB1bmRlZmluZWQ+KCk7XG4gICAgY29uc3QgW2xvYWRpbmdTdGF0ZSwgc2V0TG9hZGluZ1N0YXRlXSA9IHVzZVN0YXRlPFwibG9hZGluZ1wiIHwgXCJsb2FkZWRcIiB8IFwiZXJyb3JcIj4oXCJsb2FkaW5nXCIpO1xuXG4gICAgY29uc3QgY2xpZW50ID0gdXNlTWF0cml4Q2xpZW50Q29udGV4dCgpO1xuXG4gICAgY29uc3QgdXBkYXRlVGhyZWVwaWRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdGhyZWVwaWRzID0gYXdhaXQgY2xpZW50LmdldFRocmVlUGlkcygpO1xuICAgICAgICAgICAgc2V0RW1haWxzKHRocmVlcGlkcy50aHJlZXBpZHMuZmlsdGVyKChhKSA9PiBhLm1lZGl1bSA9PT0gVGhyZWVwaWRNZWRpdW0uRW1haWwpKTtcbiAgICAgICAgICAgIHNldFBob25lTnVtYmVycyh0aHJlZXBpZHMudGhyZWVwaWRzLmZpbHRlcigoYSkgPT4gYS5tZWRpdW0gPT09IFRocmVlcGlkTWVkaXVtLlBob25lKSk7XG4gICAgICAgICAgICBzZXRMb2FkaW5nU3RhdGUoXCJsb2FkZWRcIik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHNldExvYWRpbmdTdGF0ZShcImVycm9yXCIpO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudF0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdXBkYXRlVGhyZWVwaWRzKCkudGhlbigpO1xuICAgIH0sIFt1cGRhdGVUaHJlZXBpZHNdKTtcblxuICAgIGNvbnN0IG9uRW1haWxzQ2hhbmdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB1cGRhdGVUaHJlZXBpZHMoKS50aGVuKCk7XG4gICAgfSwgW3VwZGF0ZVRocmVlcGlkc10pO1xuXG4gICAgY29uc3Qgb25Nc2lzZG5zQ2hhbmdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB1cGRhdGVUaHJlZXBpZHMoKS50aGVuKCk7XG4gICAgfSwgW3VwZGF0ZVRocmVlcGlkc10pO1xuXG4gICAgaWYgKCFTZXR0aW5nc1N0b3JlLmdldFZhbHVlKFVJRmVhdHVyZS5UaGlyZFBhcnR5SUQpKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDI+e190KFwic2V0dGluZ3N8Z2VuZXJhbHxwZXJzb25hbF9pbmZvXCIpfTwvaDI+XG4gICAgICAgICAgICA8U2V0dGluZ3NTdWJzZWN0aW9uXG4gICAgICAgICAgICAgICAgaGVhZGluZz17X3QoXCJzZXR0aW5nc3xnZW5lcmFsfGVtYWlsc19oZWFkaW5nXCIpfVxuICAgICAgICAgICAgICAgIHN0cmV0Y2hDb250ZW50XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJteF9BY2NvdW50RW1haWxBZGRyZXNzZXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUaHJlZXBpZFNlY3Rpb25XcmFwcGVyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yPXtfdChcInNldHRpbmdzfGdlbmVyYWx8dW5hYmxlX3RvX2xvYWRfZW1haWxzXCIpfVxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3RhdGU9e2xvYWRpbmdTdGF0ZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxBZGRSZW1vdmVUaHJlZXBpZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vZGU9XCJoc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBtZWRpdW09e1RocmVlcGlkTWVkaXVtLkVtYWlsfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWVwaWRzPXtlbWFpbHMhfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uRW1haWxzQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5NYWtlM3BpZENoYW5nZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc9e2xvYWRpbmdTdGF0ZSA9PT0gXCJsb2FkaW5nXCJ9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9UaHJlZXBpZFNlY3Rpb25XcmFwcGVyPlxuICAgICAgICAgICAgPC9TZXR0aW5nc1N1YnNlY3Rpb24+XG5cbiAgICAgICAgICAgIDxTZXR0aW5nc1N1YnNlY3Rpb25cbiAgICAgICAgICAgICAgICBoZWFkaW5nPXtfdChcInNldHRpbmdzfGdlbmVyYWx8bXNpc2Ruc19oZWFkaW5nXCIpfVxuICAgICAgICAgICAgICAgIHN0cmV0Y2hDb250ZW50XG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJteF9BY2NvdW50UGhvbmVOdW1iZXJzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGhyZWVwaWRTZWN0aW9uV3JhcHBlclxuICAgICAgICAgICAgICAgICAgICBlcnJvcj17X3QoXCJzZXR0aW5nc3xnZW5lcmFsfHVuYWJsZV90b19sb2FkX21zaXNkbnNcIil9XG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdGF0ZT17bG9hZGluZ1N0YXRlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEFkZFJlbW92ZVRocmVlcGlkc1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImhzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lZGl1bT17VGhyZWVwaWRNZWRpdW0uUGhvbmV9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJlZXBpZHM9e3Bob25lTnVtYmVycyF9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25Nc2lzZG5zQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5NYWtlM3BpZENoYW5nZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc9e2xvYWRpbmdTdGF0ZSA9PT0gXCJsb2FkaW5nXCJ9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9UaHJlZXBpZFNlY3Rpb25XcmFwcGVyPlxuICAgICAgICAgICAgPC9TZXR0aW5nc1N1YnNlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBVc2VyUGVyc29uYWxJbmZvU2V0dGluZ3M7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxZQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxnQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFPLG9CQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxjQUFBLEdBQUFI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