import { useToolbar, useViewportMousePosition } from '@ohif/core/src/hooks'; import React, { useState, useEffect, useRef } from 'react'; import { useViewportRendering } from '../../hooks'; function AdvancedRenderingControls({ viewportId, location, buttonSection, }: { viewportId: string; location: number; buttonSection: string; }) { const { onInteraction, toolbarButtons, isItemOpen, isItemLocked, openItem, closeItem, toggleLock, } = useToolbar({ buttonSection, }); const mousePosition = useViewportMousePosition(viewportId); const [isAtBottom, setIsAtBottom] = useState(false); const [showAllIcons, setShowAllIcons] = useState(true); const firstMountRef = useRef(true); const { hasColorbar } = useViewportRendering(viewportId); useEffect(() => { if (firstMountRef.current) { firstMountRef.current = false; const timer = setTimeout(() => { setShowAllIcons(false); }, 3000); return () => clearTimeout(timer); } }, []); useEffect(() => { if (!showAllIcons && mousePosition.isInViewport) { if (mousePosition.isInBottomPercentage(10)) { setIsAtBottom(true); } else { setIsAtBottom(false); } } }, [mousePosition, showAllIcons]); if (!toolbarButtons?.length) { return null; } if (!hasColorbar) { return null; } return (