import React, { FC, useCallback, useState } from 'react'; import { IUser } from '~/types/auth'; import { Avatar } from '~/components/common/Avatar'; import { path } from 'ramda'; import { Manager, Popper, Reference } from 'react-popper'; import styles from './styles.module.scss'; import { useRandomPhrase } from '~/constants/phrases'; interface Props { user: IUser; withDetails: boolean; className?: string; } const modifiers = [ { name: 'offset', options: { offset: [0, 10], }, }, ]; const CommentAvatar: FC = ({ user, withDetails, className }) => { const [hovered, setHovered] = useState(false); const randomPhrase = useRandomPhrase('USER_DESCRIPTION'); const onMouseOver = useCallback(() => setHovered(true), [setHovered]); const onMouseOut = useCallback(() => setHovered(false), [setHovered]); return ( {({ ref }) => ( )} {hovered && withDetails && ( {({ style, ref }) => (

{user.fullname || user.username}

{user.description || randomPhrase}
)}
)}
); }; export { CommentAvatar };