UNPKG

matrix-react-sdk

Version:
57 lines (54 loc) 6.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useProfileInfo = void 0; var _react = require("react"); var _MatrixClientPeg = require("../MatrixClientPeg"); var _useLatestResult = require("./useLatestResult"); /* Copyright 2024 New Vector Ltd. Copyright 2022 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 useProfileInfo = () => { const [profile, setProfile] = (0, _react.useState)(null); const [loading, setLoading] = (0, _react.useState)(false); const [updateQuery, updateResult] = (0, _useLatestResult.useLatestResult)(setProfile); const search = (0, _react.useCallback)(async ({ query: term }) => { updateQuery(term); if (!term?.length || !term.startsWith("@") || !term.includes(":")) { setProfile(null); return true; } setLoading(true); try { const result = await _MatrixClientPeg.MatrixClientPeg.safeGet().getProfileInfo(term); updateResult(term, { user_id: term, avatar_url: result.avatar_url, display_name: result.displayname }); return true; } catch (e) { console.error("Could not fetch profile info for params", { term }, e); updateResult(term, null); return false; } finally { setLoading(false); } }, [updateQuery, updateResult]); return { ready: true, loading, profile, search }; }; exports.useProfileInfo = useProfileInfo; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX01hdHJpeENsaWVudFBlZyIsIl91c2VMYXRlc3RSZXN1bHQiLCJ1c2VQcm9maWxlSW5mbyIsInByb2ZpbGUiLCJzZXRQcm9maWxlIiwidXNlU3RhdGUiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInVwZGF0ZVF1ZXJ5IiwidXBkYXRlUmVzdWx0IiwidXNlTGF0ZXN0UmVzdWx0Iiwic2VhcmNoIiwidXNlQ2FsbGJhY2siLCJxdWVyeSIsInRlcm0iLCJsZW5ndGgiLCJzdGFydHNXaXRoIiwiaW5jbHVkZXMiLCJyZXN1bHQiLCJNYXRyaXhDbGllbnRQZWciLCJzYWZlR2V0IiwiZ2V0UHJvZmlsZUluZm8iLCJ1c2VyX2lkIiwiYXZhdGFyX3VybCIsImRpc3BsYXlfbmFtZSIsImRpc3BsYXluYW1lIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsInJlYWR5IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VQcm9maWxlSW5mby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMiBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHsgTWF0cml4Q2xpZW50UGVnIH0gZnJvbSBcIi4uL01hdHJpeENsaWVudFBlZ1wiO1xuaW1wb3J0IHsgdXNlTGF0ZXN0UmVzdWx0IH0gZnJvbSBcIi4vdXNlTGF0ZXN0UmVzdWx0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb2ZpbGVJbmZvT3B0cyB7XG4gICAgcXVlcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVByb2ZpbGVJbmZvIHtcbiAgICB1c2VyX2lkOiBzdHJpbmc7XG4gICAgYXZhdGFyX3VybD86IHN0cmluZztcbiAgICBkaXNwbGF5X25hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCB1c2VQcm9maWxlSW5mbyA9ICgpOiB7XG4gICAgcmVhZHk6IGJvb2xlYW47XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICBwcm9maWxlOiBJUHJvZmlsZUluZm8gfCBudWxsO1xuICAgIHNlYXJjaChvcHRzOiBJUHJvZmlsZUluZm9PcHRzKTogUHJvbWlzZTxib29sZWFuPjtcbn0gPT4ge1xuICAgIGNvbnN0IFtwcm9maWxlLCBzZXRQcm9maWxlXSA9IHVzZVN0YXRlPElQcm9maWxlSW5mbyB8IG51bGw+KG51bGwpO1xuXG4gICAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgW3VwZGF0ZVF1ZXJ5LCB1cGRhdGVSZXN1bHRdID0gdXNlTGF0ZXN0UmVzdWx0PHN0cmluZyB8IHVuZGVmaW5lZCwgSVByb2ZpbGVJbmZvIHwgbnVsbD4oc2V0UHJvZmlsZSk7XG5cbiAgICBjb25zdCBzZWFyY2ggPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgcXVlcnk6IHRlcm0gfTogSVByb2ZpbGVJbmZvT3B0cyk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgICAgICAgICAgdXBkYXRlUXVlcnkodGVybSk7XG4gICAgICAgICAgICBpZiAoIXRlcm0/Lmxlbmd0aCB8fCAhdGVybS5zdGFydHNXaXRoKFwiQFwiKSB8fCAhdGVybS5pbmNsdWRlcyhcIjpcIikpIHtcbiAgICAgICAgICAgICAgICBzZXRQcm9maWxlKG51bGwpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBNYXRyaXhDbGllbnRQZWcuc2FmZUdldCgpLmdldFByb2ZpbGVJbmZvKHRlcm0pO1xuICAgICAgICAgICAgICAgIHVwZGF0ZVJlc3VsdCh0ZXJtLCB7XG4gICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHRlcm0sXG4gICAgICAgICAgICAgICAgICAgIGF2YXRhcl91cmw6IHJlc3VsdC5hdmF0YXJfdXJsLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5X25hbWU6IHJlc3VsdC5kaXNwbGF5bmFtZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiQ291bGQgbm90IGZldGNoIHByb2ZpbGUgaW5mbyBmb3IgcGFyYW1zXCIsIHsgdGVybSB9LCBlKTtcbiAgICAgICAgICAgICAgICB1cGRhdGVSZXN1bHQodGVybSwgbnVsbCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgW3VwZGF0ZVF1ZXJ5LCB1cGRhdGVSZXN1bHRdLFxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICByZWFkeTogdHJ1ZSxcbiAgICAgICAgbG9hZGluZyxcbiAgICAgICAgcHJvZmlsZSxcbiAgICAgICAgc2VhcmNoLFxuICAgIH0gYXMgY29uc3Q7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFRQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyxnQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQWlCTyxNQUFNRyxjQUFjLEdBQUdBLENBQUEsS0FLekI7RUFDRCxNQUFNLENBQUNDLE9BQU8sRUFBRUMsVUFBVSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFzQixJQUFJLENBQUM7RUFFakUsTUFBTSxDQUFDQyxPQUFPLEVBQUVDLFVBQVUsQ0FBQyxHQUFHLElBQUFGLGVBQVEsRUFBQyxLQUFLLENBQUM7RUFFN0MsTUFBTSxDQUFDRyxXQUFXLEVBQUVDLFlBQVksQ0FBQyxHQUFHLElBQUFDLGdDQUFlLEVBQTBDTixVQUFVLENBQUM7RUFFeEcsTUFBTU8sTUFBTSxHQUFHLElBQUFDLGtCQUFXLEVBQ3RCLE9BQU87SUFBRUMsS0FBSyxFQUFFQztFQUF1QixDQUFDLEtBQXVCO0lBQzNETixXQUFXLENBQUNNLElBQUksQ0FBQztJQUNqQixJQUFJLENBQUNBLElBQUksRUFBRUMsTUFBTSxJQUFJLENBQUNELElBQUksQ0FBQ0UsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUNGLElBQUksQ0FBQ0csUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO01BQy9EYixVQUFVLENBQUMsSUFBSSxDQUFDO01BQ2hCLE9BQU8sSUFBSTtJQUNmO0lBRUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDaEIsSUFBSTtNQUNBLE1BQU1XLE1BQU0sR0FBRyxNQUFNQyxnQ0FBZSxDQUFDQyxPQUFPLENBQUMsQ0FBQyxDQUFDQyxjQUFjLENBQUNQLElBQUksQ0FBQztNQUNuRUwsWUFBWSxDQUFDSyxJQUFJLEVBQUU7UUFDZlEsT0FBTyxFQUFFUixJQUFJO1FBQ2JTLFVBQVUsRUFBRUwsTUFBTSxDQUFDSyxVQUFVO1FBQzdCQyxZQUFZLEVBQUVOLE1BQU0sQ0FBQ087TUFDekIsQ0FBQyxDQUFDO01BQ0YsT0FBTyxJQUFJO0lBQ2YsQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtNQUNSQyxPQUFPLENBQUNDLEtBQUssQ0FBQyx5Q0FBeUMsRUFBRTtRQUFFZDtNQUFLLENBQUMsRUFBRVksQ0FBQyxDQUFDO01BQ3JFakIsWUFBWSxDQUFDSyxJQUFJLEVBQUUsSUFBSSxDQUFDO01BQ3hCLE9BQU8sS0FBSztJQUNoQixDQUFDLFNBQVM7TUFDTlAsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUNyQjtFQUNKLENBQUMsRUFDRCxDQUFDQyxXQUFXLEVBQUVDLFlBQVksQ0FDOUIsQ0FBQztFQUVELE9BQU87SUFDSG9CLEtBQUssRUFBRSxJQUFJO0lBQ1h2QixPQUFPO0lBQ1BILE9BQU87SUFDUFE7RUFDSixDQUFDO0FBQ0wsQ0FBQztBQUFDbUIsT0FBQSxDQUFBNUIsY0FBQSxHQUFBQSxjQUFBIiwiaWdub3JlTGlzdCI6W119