useWaitingDigitalSignature
unknown
javascript
3 years ago
1.4 kB
13
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...