UNPKG

@selfcommunity/react-core

Version:

React Core Components useful for integrating UI Community components (react-ui).

34 lines (32 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = require("react"); const useSCFetchUserBlockedBy_1 = tslib_1.__importDefault(require("./useSCFetchUserBlockedBy")); const SCUserProvider_1 = require("../components/provider/SCUserProvider"); /** :::info This custom hook is used to check if the user is blocked by me or I am blocked by him. ::: :::tip How to use it: Follow these steps: ```jsx 1. import useUserIsBlocked from '@selfcommunity/react-core'; 2. const {blocked, loading: loadingBlockedBy} = useUserIsBlocked(user); ``` ::: */ function useSCUserIsBlocked(user) { // CONTEXT const scUserContext = (0, SCUserProvider_1.useSCUser)(); // HOOKS const { blockedBy, loading: loadingBlockedBy } = (0, useSCFetchUserBlockedBy_1.default)({ user }); // CONST const isMe = (0, react_1.useMemo)(() => scUserContext.user && user.id === scUserContext.user.id, [scUserContext.user, user]); // Status blocked const blocked = !isMe && user && Boolean((scUserContext.user && scUserContext.managers.blockedUsers.isBlocked(user)) || blockedBy); // Status loading const loading = scUserContext.user && (scUserContext.managers.blockedUsers.isLoading() || loadingBlockedBy); return { blocked, loading }; } exports.default = useSCUserIsBlocked;