This commit is contained in:
Ebube
2023-06-03 17:07:34 +01:00
parent 1895b47b76
commit 024c8bbed1
2 changed files with 28 additions and 15 deletions
+1 -1
View File
@@ -100,7 +100,7 @@ export default function Header({ logoutModalHandler, sidebarHandler }) {
// User Profile // User Profile
let { firstname, lastname, email, profile_pic } = userDetails; let { firstname, lastname, email, profile_pic } = userDetails;
let userEmail = email.split("@")[0]; let userEmail = email?.split("@")[0];
return ( return (
<> <>
+27 -14
View File
@@ -2,37 +2,39 @@ import React, { useMemo, useState } from "react";
import Detail from "./popoutcomponent/Detail"; import Detail from "./popoutcomponent/Detail";
import ModalCom from "../Helpers/ModalCom"; import ModalCom from "../Helpers/ModalCom";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import LoadingSpinner from "../Spinners/LoadingSpinner";
function PendingJobsPopout({ details, onClose, situation }) { function PendingJobsPopout({ details, onClose, situation }) {
const [pendingJobLoader, setPendingJobLoader] = useState(false) const [pendingJobLoader, setPendingJobLoader] = useState({
extend: false,
offer: false,
});
const apiCall = useMemo(() => new usersService(), []); const apiCall = useMemo(() => new usersService(), []);
const handlePendingJobsBtn = async ({ target: { name } }) => { const handlePendingJobsBtn = async ({ target: { name } }) => {
setPendingJobLoader(true)
let { job_uid, offer_code } = details; let { job_uid, offer_code } = details;
let reqData;
let pendingData = { job_uid, offer_code }; let pendingData = { job_uid, offer_code };
let reqData = { ...pendingData };
if (name === "extend") { if (name === "extend") {
try { try {
reqData = { ...pendingData }; setPendingJobLoader({ extend: true });
let { data } = await apiCall.pendingJobExtend(reqData); let { data } = await apiCall.pendingJobExtend(reqData);
console.log("This is for extend", data); console.log("This is for extend", data);
setPendingJobLoader(false) setPendingJobLoader({ extend: false });
} catch (error) { } catch (error) {
setPendingJobLoader(false) setPendingJobLoader({ extend: false });
throw new Error(error); throw new Error(error);
} }
} else if (name === "offer") { } else if (name === "offer") {
try { try {
reqData = { ...pendingData }; setPendingJobLoader({ offer: true });
let { data } = await apiCall.pendingJobSendTome(reqData); let { data } = await apiCall.pendingJobSendTome(reqData);
console.log("This is for offer", data); console.log("This is for offer", data);
setPendingJobLoader(false) setPendingJobLoader({ offer: false });
} catch (error) { } catch (error) {
setPendingJobLoader(false) setPendingJobLoader({ offer: false });
throw new Error(error); throw new Error(error);
} }
} else return; } else return;
@@ -159,7 +161,13 @@ function PendingJobsPopout({ details, onClose, situation }) {
onClick={handlePendingJobsBtn} onClick={handlePendingJobsBtn}
name="extend" name="extend"
> >
Extend by a week {pendingJobLoader.extend ? (
<div className="min-w-[130px] w-full h-full place-items-center">
<LoadingSpinner size={6} color="sky-blue" />
</div>
) : (
"Extend by a week"
)}
</button> </button>
</div> </div>
@@ -169,10 +177,15 @@ function PendingJobsPopout({ details, onClose, situation }) {
onClick={handlePendingJobsBtn} onClick={handlePendingJobsBtn}
name="offer" name="offer"
> >
Send to me {pendingJobLoader.offer ? (
<div className="min-w-[130px] w-full h-full">
<LoadingSpinner size={6} color="sky-blue" />
</div>
) : (
"Send to me"
)}
</button> </button>
</div> </div>
<div className="mt-10 md:mt-32 md:flex md:justify-center"> <div className="mt-10 md:mt-32 md:flex md:justify-center">
<button <button
className="px-2 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white" className="px-2 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"