import { Skeleton } from '@rocket.chat/fuselage';
import { UserPresenceContext, useTooltipClose, useTooltipOpen, useUserPresence } from '@rocket.chat/ui-contexts';
import type { MouseEvent } from 'react';
import { useCallback, useContext, useMemo } from 'react';
import { UserStatusText } from '../components/UserStatusText';
export type UserStatusTooltipContentProps = { uid: string };
const UserStatusTooltipContent = ({ uid }: UserStatusTooltipContentProps) => {
const presence = useUserPresence(uid);
if (!presence) {
return ;
}
return ;
};
export function useUserStatusTooltip(uid: string | undefined, title?: string) {
const userPresence = useContext(UserPresenceContext);
const openTooltip = useTooltipOpen();
const closeTooltip = useTooltipClose();
const onMouseEnter = useCallback(
(e: MouseEvent) => {
const target = e.currentTarget;
if (!uid) {
return openTooltip(title, target);
}
openTooltip(
,
target,
);
},
[uid, openTooltip, title, userPresence],
);
return useMemo(() => ({ 'data-tooltip': '', onMouseEnter, 'onMouseLeave': closeTooltip }), [onMouseEnter, closeTooltip]);
}