HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/propbase/propbase_website/shared/common/LogoutModal.tsx
import { useRouter } from 'next/router';

import Modal from './Modal';
import queryclient from '@/QueryClient';
import basicstore from '@/stores/auth';

interface LogoutModalProps {
  showModal: boolean;
  setShowModal: React.Dispatch<React.SetStateAction<boolean>>;
}

const LogoutModal: React.FC<LogoutModalProps> = ({ showModal, setShowModal }) => {
  const { setUserData } = basicstore();
  const router = useRouter();
  const renderheader = () => (
    <button
      type="button"
      className="btn-close"
      data-bs-dismiss="modal"
      aria-label="Close"
      onClick={() => setShowModal(false)}
    >
      <img src="img/modal-close.svg" alt="Close" />
    </button>
  );

  const renderBody = () => (
    <div className="logout-modal-body">
      <div className="img-block">
        <img src="img/logout.svg" alt="Logout" />
      </div>
      <h2>Are you sure you want to logout?</h2>
      <div className="btn-cover justify-content-center">
        <button
          className="btn btn-prmary"
          type="button"
          onClick={() => {
            setUserData({
              isLoggedIn: false,
              userData: null,
              userType: null,
              darkmode: true,
            });
            localStorage.clear();
            sessionStorage.clear();
            setShowModal(false);
            queryclient.clear();
            router.push('/login');
          }}
        >
          Confirm
        </button>
      </div>
    </div>
  );

  return (
    <Modal
      className="modal fade custom-modal logout-modal"
      dialgName="modal-dialog modal-xl modal-dialog-centered"
      show={showModal}
      closeModal={() => setShowModal(false)}
      body={renderBody()}
      header={renderheader()}
    />
  );
};

export default LogoutModal;