"use client"; import { callServerPromise } from "@/components/callServerPromise"; import { useEffect, useState, useTransition } from "react"; export function useServerActionData( action: (data: I) => Promise, input: I ) { const [data, setData] = useState(null); const [pending, startTransition] = useTransition(); const [started, setStarted] = useState(false); useEffect(() => { startTransition(() => { setStarted(true); callServerPromise(action(input)).then(setData); }); }, [action, input]); return { started, data, pending, }; }