'use client' import { useEffect, useCallback } from 'react' import { useRouter } from 'next/navigation' /** * Hook for real-time updates via polling * Refreshes data at regular intervals to show changes from other users/browsers */ export function useRealtimeUpdates(intervalMs: number = 3000) { const router = useRouter() const refresh = useCallback(() => { router.refresh() }, [router]) useEffect(() => { // Poll for updates const interval = setInterval(() => { refresh() }, intervalMs) // Also refresh when window regains focus const handleFocus = () => { refresh() } window.addEventListener('focus', handleFocus) return () => { clearInterval(interval) window.removeEventListener('focus', handleFocus) } }, [intervalMs, refresh]) return { refresh } }