import React, { useState } from 'react'
import { useNavigate } from 'react-router-dom'
import { Button, Flex, Modal, Text, Title } from '@mantine/core'
import { useDisclosure } from '@mantine/hooks'
const Logout = () => {
const [isOpen, { open, close }] = useDisclosure(false);
const navigate = useNavigate();
const [isLoading, setIsLoading] = useState(false);
const [errorMsg, setErrorMsg] = useState("");
const logoutHandler = async (evt) => {
try {
evt.preventDefault();
console.log('Logging out')
setIsLoading(true);
let logoutUrl = `${import.meta.env.VITE_BACKEND_HOST}/api/auth/logout`
const response = await fetch(logoutUrl, {
method: 'DELETE', credentials: 'include'
});
const resData = await response.json();
setIsLoading(false);
if (response.ok) {
localStorage.removeItem('user');
localStorage.removeItem('loggedIn');
close();
return navigate('/login');
} else {
return setErrorMsg(resData.message || "Something went wrong")
}
} catch (err) {
setIsLoading(false)
console.error(err)
setErrorMsg("Something went wrong");
}
}
return (
<>
Logout} centered>
Are you sure you want to logout?
{errorMsg}
>
)
}
export default Logout