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 42 43 | import Alert from "components/Alert"; import CenteredSpinner from "components/CenteredSpinner/CenteredSpinner"; import { RpcError } from "grpc-web"; import { useRouter } from "next/router"; import { useEffect } from "react"; import { useMutation, useQueryClient } from "react-query"; import { baseRoute } from "routes"; import { useAuthContext } from "./AuthProvider"; export default function Logout() { const { authActions } = useAuthContext(); const queryClient = useQueryClient(); const router = useRouter(); const logout = useMutation<void, RpcError>( async () => { authActions.logout(); queryClient.clear(); }, { onSuccess: () => { router.push(baseRoute); }, }, ); const mutate = logout.mutate; useEffect(() => { mutate(); }, [mutate]); return ( <> {logout.error ? ( <Alert severity="error">{logout.error.message}</Alert> ) : ( <CenteredSpinner /> )} </> ); } |