Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import { useMutation, useQueryClient } from "@tanstack/react-query";
import Alert from "components/Alert";
import CenteredSpinner from "components/CenteredSpinner/CenteredSpinner";
import { useRouter } from "next/router";
import { useEffect } from "react";
import { loginRoute } from "routes";
import { useAuthContext } from "./AuthProvider";
export default function Logout() {
const { authActions } = useAuthContext();
const queryClient = useQueryClient();
const router = useRouter();
const logout = useMutation({
mutationFn: async () => {
authActions.logout();
queryClient.clear();
},
onSuccess: () => {
router.push(loginRoute);
},
});
const mutate = logout.mutate;
useEffect(() => {
mutate();
}, [mutate]);
return (
<>
{logout.error ? (
<Alert severity="error">{logout.error.message}</Alert>
) : (
<CenteredSpinner />
)}
</>
);
}
|