import React from "react"; import { useDispatch, useSelector } from "react-redux"; import { modalActions } from "../../store/modalSlice"; import Modal from "./Modal"; import useFetch from "../../hooks/useFetch"; import { contactsActions } from "../../store/contactsSlice"; import { chatActions } from "../../store/chatSlice"; import { userProfileActions } from "../../store/userProfileSlice"; function DeleteContact() { const dispatch = useDispatch(); const chatRoomId = useSelector( (state) => state.chatReducer.currentChatRoom._id ); const contactData = useSelector((state) => state.modalReducer.payload); const { reqFn: deleteContact } = useFetch({ method: "DELETE", url: "/contacts", }); const deleteContactHandler = async () => { // Hide profile dispatch(userProfileActions.hideProfile()); // Delete contact from database await deleteContact({ username: contactData?.profile?.username }); // Remove contact from redux store dispatch(contactsActions.removeContact({ id: contactData?.profile?._id })); // Deactivate chat dispatch(chatActions.removeChatRoom({ chatRoomId })); dispatch(chatActions.setChatUnactive()); }; return ( dispatch(modalActions.closeModal())} typeValue="deleteContactModal" className="w-[30rem] !px-[2rem] pb-[2rem]" canOverlayClose={true} >

Delete Contact

Are you sure you want to delete {contactData?.profile?.name} contact?

); } export default DeleteContact;