SPB Git

Repository Public

AutoRefresh.tsx 604 B 15 lines tsx

1"use client";2import { useRouter } from "next/navigation";3import { useEffect } from "react";45/** Re-renders the server component tree while work is in progress. */6export function AutoRefresh({ seconds = 5, active = true }: { seconds?: number; active?: boolean }) {7  const router = useRouter();8  useEffect(() => {9    if (!active) return;10    const id = setInterval(() => { if (document.visibilityState === "visible" && !document.querySelector("textarea:focus, input:focus")) router.refresh(); }, seconds * 1000);11    return () => clearInterval(id);12  }, [active, seconds, router]);13  return null;14}15
Files main
Menu

Theme