import { Button } from "@/components/ui/button"; import { Card, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { useAppContext } from "@/context/app-context"; import { useUserContext } from "@/context/user-context"; import { capitalize } from "@/lib/utils"; import { useMutation } from "@tanstack/react-query"; import axios from "axios"; import { Trans, useTranslation } from "react-i18next"; import { Navigate } from "react-router"; import { toast } from "sonner"; export const LogoutPage = () => { const { provider, username, isLoggedIn, email } = useUserContext(); if (!isLoggedIn) { return ; } const { genericName } = useAppContext(); const { t } = useTranslation(); const logoutMutation = useMutation({ mutationFn: () => axios.post("/api/user/logout"), mutationKey: ["logout"], onSuccess: () => { toast.success(t("logoutSuccessTitle"), { description: t("logoutSuccessSubtitle"), }); setTimeout(async () => { window.location.replace("/login"); }, 500); }, onError: () => { toast.error(t("logoutFailTitle"), { description: t("logoutFailSubtitle"), }); }, }); return ( {t("logoutTitle")} {provider !== "username" ? ( , }} values={{ username: email, provider: provider === "generic" ? genericName : capitalize(provider), }} /> ) : ( , }} values={{ username, }} /> )} ); };