// Copyright: © 2026 TWWIM UG. All rights reserved. (www.twwim.com) /** * Polls /conversations/:id/captured-contact for the structured contact form * the visitor submitted in response to an operator's "Request contact" * action. Same visibility-aware 5 s cadence as the rest of the Comm Center. */ import { useQuery } from '@tanstack/react-query'; import { conversationsApi } from '@/infrastructure/http/api/conversations/api'; import { useVisibilityRefetch } from './useVisibilityRefetch'; const CAPTURED_POLL_MS = 5_000; export function useCapturedContact(conversationId: string | null | undefined) { const isVisible = useVisibilityRefetch(); return useQuery({ queryKey: conversationId ? (['conversations', conversationId, 'captured-contact'] as const) : (['conversations', 'captured-contact', 'none'] as const), queryFn: () => conversationsApi.getCapturedContact(conversationId as string), enabled: !!conversationId, refetchInterval: isVisible && conversationId ? CAPTURED_POLL_MS : false, refetchOnWindowFocus: true, }); }