UNPKG

@selfcommunity/react-core

Version:

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

30 lines (28 loc) 1.14 kB
import { useMemo } from 'react'; import useSCFetchUserBlockedBy from './useSCFetchUserBlockedBy'; import { useSCUser } from '../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); ``` ::: */ export default function useSCUserIsBlocked(user) { // CONTEXT const scUserContext = useSCUser(); // HOOKS const { blockedBy, loading: loadingBlockedBy } = useSCFetchUserBlockedBy({ user }); // CONST const isMe = 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 }; }