useWaitingDigitalSignature
unknown
javascript
2 years ago
1.4 kB
7
Indexable
import { useState, useEffect } from "react"; import { useParams } from "react-router-dom"; import { fetchSpecificationState } from "apis/SPEC"; import { useRedirect, useApiPolling } from "hooks"; import { ParamTypes } from "../../types"; const useWaitingDigitalSignature = () => { const { redirectToSpecificationDetails } = useRedirect(); const { specificationState, specificationId } = useParams<ParamTypes>(); const [newSpecificationState, setNewSpecificationState] = useState( specificationState ); useEffect(() => { if (newSpecificationState !== specificationState) { redirectToSpecificationDetails(specificationId); } }, [newSpecificationState]); const fetchState = async () => { try { const { data } = await fetchSpecificationState({ id: specificationId }); setNewSpecificationState(data.state); } catch (_) {} }; useApiPolling({ pollingFunction: fetchState, stopPolling: newSpecificationState !== specificationState, ignoreMaximumApiCalls: true, }); // useInterval(async () => { // try { // const { data } = await fetchSpecificationState({ id: specificationId }); // setNewSpecificationState(data.state); // } catch (_) {} // }, intervalForGetSpecificationState); }; export default useWaitingDigitalSignature;
Editor is loading...