import { useEffect, useRef } from "react"; import { apiFetch } from "@/lib/api"; interface NavigationState { view: string; path: string; date?: string; } export function useNavigationSync(state: NavigationState) { const debounceRef = useRef>(undefined); useEffect(() => { if (debounceRef.current) clearTimeout(debounceRef.current); debounceRef.current = setTimeout(() => { apiFetch("/_agent-native/application-state/navigation", { method: "PUT", keepalive: true, body: JSON.stringify(state), }).catch(() => {}); }, 500); return () => { if (debounceRef.current) clearTimeout(debounceRef.current); }; }, [state.view, state.path, state.date]); }