import React, {useEffect, useState} from "react"; import { useDispatch, useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { toast } from "react-toastify"; import useToggle from "../../hooks/useToggle"; import { drawerToggle } from "../../store/drawer"; import ModalCom from "../Helpers/ModalCom"; import Header from "./Header"; import MobileSidebar from "./MobileSideBar"; import RightSideBar from "./RightSideBar"; import Sidebar from "./Sidebar"; import usersService from "../../services/UsersService"; export default function Layout({ children }) { const { drawer } = useSelector((state) => state.drawer); const dispatch = useDispatch(); const [MobileSideBar, setMobileSidebar] = useToggle(false); const [logoutModal, setLogoutModal] = useState(false); const logoutModalHandler = () => { setLogoutModal(!logoutModal); }; const navigate = useNavigate(); const logOut = () => { localStorage.removeItem("session_token"); localStorage.removeItem("member_id"); localStorage.removeItem("uid"); // localStorage.clear(); // toast.success("Come Back Soon", { // icon: `🙂`, // }); navigate("/login", { replace: true }); }; //--------------------------------------- /* LET U DEAL WITH JOB LIST - we need to centralize this list */ const {jobListTable} = useSelector((state) => state.tableReload) const [myJobList, setMyJobList] = useState({loading: true, data:[]}); const api = new usersService(); const getMyJobList = async () => { setMyJobList({loading: true, data:[]}) try { const res = await api.getMyJobList(); setMyJobList({loading: false, data:res.data}) // setMyJobList(res.data); } catch (error) { setMyJobList({loading: false, data:[]}) console.log("Error getting mode"); } }; useEffect(() => { getMyJobList(); }, [jobListTable]); // const getJobList = ()=>{ // let jobLists = useSelector((state) => state.jobLists); // return jobLists; // } //--------------------------------------- return ( <>
{/* sidebar */} {MobileSideBar && (
setMobileSidebar.toggle()} className="bg-black bg-opacity-20 fixed left-0 top-0 w-full h-full z-[50] block xl:hidden" >
)}
setMobileSidebar.toggle()} myJobList={myJobList} />
{/* end sidebar */}
{/* header */}
setMobileSidebar.toggle()} logoutModalHandler={logoutModalHandler} />
{/* container */}
{children && children}
{logoutModal && (

Confirm

Are you sure you want to Logout of your WrenchBoard account?

)} ); }