"use client"; import type { DesktopPreviewPointerEvent } from "@t3tools/contracts"; import { MousePointer2 } from "lucide-react"; import { useEffect, useState } from "react"; import { useBrowserPointerStore } from "~/browser/browserPointerStore"; import { agentBrowserCursorOpacity, type BrowserController } from "./agentBrowserCursorLogic"; const CURSOR_ACTIVE_MS = 700; export function AgentBrowserCursor(props: { readonly tabId: string; readonly zoomFactor: number; readonly controller: BrowserController; }) { const { tabId, zoomFactor, controller } = props; const event = useBrowserPointerStore((state) => state.byTabId[tabId] ?? null); if (!event) return null; return ( ); } function AgentBrowserCursorEvent(props: { readonly event: DesktopPreviewPointerEvent; readonly zoomFactor: number; readonly controller: BrowserController; }) { const { event, zoomFactor, controller } = props; const [active, setActive] = useState(true); useEffect(() => { const timeout = window.setTimeout(() => setActive(false), CURSOR_ACTIVE_MS); return () => window.clearTimeout(timeout); }, []); return ( ); }