import React, { useState } from 'react'; import { Sidebar, ActionButton } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import { usePrefersReducedMotion } from '../hooks/usePrefersReducedMotion'; const Condensed = React.memo(({ icon, title = '', avatar, actions, href, menuOptions, unread, menu, badges, threadUnread, ...props }) => { const [menuVisibility, setMenuVisibility] = useState(!!window.DISABLE_ANIMATION); const isReduceMotionEnabled = usePrefersReducedMotion(); const handleMenu = useMutableCallback((e) => { setMenuVisibility(e.target.offsetWidth > 0 && Boolean(menu)); }); const handleMenuEvent = { [isReduceMotionEnabled ? 'onMouseEnter' : 'onTransitionEnd']: handleMenu }; return {avatar && { avatar } } { icon } {title} {badges} {menu && {menuVisibility ? menu() : }} { actions && { { actions } } } ; }); export default Condensed;