'use client' import { Activity, EyeOff } from 'lucide-react' import { useEffect, useRef, useState } from 'react' import type { MouseEvent } from 'react' import { Button, PopoverContent_Shadcn_, PopoverTrigger_Shadcn_, Popover_Shadcn_, cn } from 'ui' import { useDevToolbar } from './DevToolbarContext' const IS_LOCAL_DEV = process.env.NODE_ENV === 'development' export function DevToolbarTrigger() { const { isEnabled, isOpen, setIsOpen, events, dismissToolbar } = useDevToolbar() const [popoverOpen, setPopoverOpen] = useState(false) const closeTimeoutRef = useRef(null) useEffect(() => { return () => { if (closeTimeoutRef.current) { clearTimeout(closeTimeoutRef.current) closeTimeoutRef.current = null } } }, []) if (!IS_LOCAL_DEV || !isEnabled) { return null } const eventCount = events.length const handleClick = () => { setPopoverOpen(false) setIsOpen(true) } const handleDismiss = () => { setPopoverOpen(false) dismissToolbar() } const handleMouseEnter = () => { if (closeTimeoutRef.current) { clearTimeout(closeTimeoutRef.current) closeTimeoutRef.current = null } setPopoverOpen(true) } const handleMouseLeave = () => { closeTimeoutRef.current = setTimeout(() => { setPopoverOpen(false) }, 100) } const handleTriggerMouseLeave = (event: MouseEvent) => { handleMouseLeave() event.currentTarget.blur() } return ( event.preventDefault()} > ) }