/* eslint-disable import/no-unresolved */ import React from 'react'; import Avatar from '@/_ui/Avatar'; import { useOthers } from 'y-presence'; const MAX_DISPLAY_USERS = 3; const RealtimeAvatars = ({ self, updatePresence, editingVersionId }) => { const others = useOthers(); const othersOnSameVersion = others.filter((other) => other?.presence?.editingVersionId === editingVersionId); React.useEffect(() => { updatePresence({ editingVersionId }); // eslint-disable-next-line react-hooks/exhaustive-deps }, [editingVersionId]); const getAvatarText = (presence) => presence.firstName?.charAt(0) + presence.lastName?.charAt(0); const getAvatarTitle = (presence) => `${presence.firstName} ${presence.lastName}`; return (
{self.presence && ( )} {othersOnSameVersion.slice(0, MAX_DISPLAY_USERS).map(({ id, presence }) => { return ( ); })} {othersOnSameVersion.length > MAX_DISPLAY_USERS && ( )}
); }; export default RealtimeAvatars;