29 lines
707 B
TypeScript
29 lines
707 B
TypeScript
import { redirect } from '@/components/Form/lib/utils';
|
|
import { ERROR_SERVER } from '@/constants/errors';
|
|
import { FormStateContext } from '@/context/form-state';
|
|
import axios from 'axios';
|
|
import { useContext, useEffect } from 'react';
|
|
|
|
export function useRefreshToken() {
|
|
const {
|
|
dispatch,
|
|
state: { step, user },
|
|
} = useContext(FormStateContext);
|
|
|
|
function handleRefreshToken() {
|
|
axios
|
|
.get('/refresh-token')
|
|
.then(() => redirect())
|
|
.catch(() =>
|
|
dispatch({
|
|
payload: { error: ERROR_SERVER, user: undefined },
|
|
type: 'set-error',
|
|
})
|
|
);
|
|
}
|
|
|
|
useEffect(() => {
|
|
if (step === 'login' && user) handleRefreshToken();
|
|
}, []);
|
|
}
|