+
-
[Delete] |
- Edit
+
+ {setDeleteJobPopout({show:true, data:value})}}>[Delete] |
+ Edit
+
@@ -93,7 +98,7 @@ export default function MyJobTable({MyJobList, className }) {
{setJobPopout({show:true, data:value})}}
+ // onClick={()=>{setJobPopout({show:true, data:value})}}
onClick={()=>{setJobPopout({show:true, data:value})}}
className="w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
>
@@ -128,6 +133,12 @@ export default function MyJobTable({MyJobList, className }) {
{setJobPopout({show:false, data:{}})}} situation={jobPopout.show} />
}
{/* End of Job List Popout */}
+
+ {/* Delete Job Popout */}
+ {deleteJobPopout.show &&
+ {setDeleteJobPopout({show:false, data:{}})}} situation={deleteJobPopout.show} />
+ }
+ {/* END of Delete Job Popout */}
);
}
diff --git a/src/components/Partials/Layout.jsx b/src/components/Partials/Layout.jsx
index 3c666d6..539d9e4 100644
--- a/src/components/Partials/Layout.jsx
+++ b/src/components/Partials/Layout.jsx
@@ -90,7 +90,7 @@ export default function Layout({ children }) {
{logoutModal && (
-
+
Confirm
@@ -168,4 +168,4 @@ export default function Layout({ children }) {
)}
>
);
-}
+}
\ No newline at end of file
diff --git a/src/components/Partials/RightSideBar.jsx b/src/components/Partials/RightSideBar.jsx
index 174b611..eceae12 100644
--- a/src/components/Partials/RightSideBar.jsx
+++ b/src/components/Partials/RightSideBar.jsx
@@ -1,17 +1,4 @@
import React, { useState } from "react";
-import topCreator1 from "../../assets/images/top-creator-1.png";
-import topCreator2 from "../../assets/images/top-creator-2.png";
-import topCreator3 from "../../assets/images/top-creator-3.png";
-import topCreator4 from "../../assets/images/top-creator-4.png";
-import topCreator5 from "../../assets/images/top-creator-5.png";
-import DoughnutChart from "../Charts/DoughnutChart";
-import MiniLineChart from "../Charts/MiniLineChart";
-import Icons from "../Helpers/Icons";
-import BtcIco from "../Helpers/Icons/BtcIco";
-import EthIco from "../Helpers/Icons/EthIco";
-import LtcIco from "../Helpers/Icons/LtcIco";
-import Usdt from "../Helpers/Icons/Usdt";
-import SelectBox from "../Helpers/SelectBox";
import { NavLink } from "react-router-dom";
//import SideStatistics from "./SideStatistics";
@@ -42,6 +29,7 @@ export default function RightSideBar() {
}
setRateStaticsDropdown(!filterRateStatics);
};
+
return (
<>
@@ -51,8 +39,7 @@ export default function RightSideBar() {
Quick Links
-
-
+
@@ -88,32 +75,29 @@ export default function RightSideBar() {
{/* image */}
{/* name */}
{/* action */}
@@ -122,31 +106,31 @@ export default function RightSideBar() {
{/* image */}
@@ -166,42 +149,39 @@ export default function RightSideBar() {
{/* image */}
{/* name */}
-
- Resources
-
+ Resources
- {/* */}
+ {/* */}
>
);
diff --git a/src/components/jobPopout/DeleteJobPopout.jsx b/src/components/jobPopout/DeleteJobPopout.jsx
new file mode 100644
index 0000000..ac7ad78
--- /dev/null
+++ b/src/components/jobPopout/DeleteJobPopout.jsx
@@ -0,0 +1,146 @@
+import React, { useState } from 'react'
+import ModalCom from '../Helpers/ModalCom'
+import { useNavigate } from 'react-router-dom'
+import usersService from '../../services/UsersService'
+import LoadingSpinner from '../Spinners/LoadingSpinner'
+
+function DeleteJobPopout({details, onClose, situation}) {
+ const navigate = useNavigate()
+ const ApiCall = new usersService()
+
+ let [requestStatus, setRequestStatus] = useState({laoding: false, status:false, message: ''}) // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER
+
+ const deleteJob = (details) => {
+ setRequestStatus({laoding: true, status:false, message: ''})
+ const {job_id} = details
+ let reqData = {
+ job_id: details.job_id
+ } // DATA NEEDED BY THE API
+ console.log(reqData)
+
+ ApiCall.deleteJob(reqData).then(res => {
+ if(res.data.internal_return < 0){
+ setRequestStatus({laoding: false, status:false, message: 'Could not perform the request, try again!'})
+ return
+ }
+ setRequestStatus({laoding: false, status:true, message: 'Job deleted successfully'})
+ setTimeout(()=>{
+ navigate('/myjobs', {replace: true})
+ }, 1000)
+ }).catch(error => {
+ setRequestStatus({laoding: false, status:false, message: 'Opps! something went wrong, try again'})
+ }).finally(()=>{
+ setTimeout(()=>{
+ setRequestStatus({laoding: false, status:false, message: ''})
+ }, 5000)
+ })
+ }
+
+ return (
+
+
+
+
+ Delete Job
+
+
+
+
+
+
+
+
+
+ {details.title}
+
+
+ Price: {details.price}
+
+
+ Duration: {details.timeline_days} day(s)
+
+
+
+
+ Cancel
+
+ {requestStatus.laoding ?
+
+ :
+ deleteJob(details)}
+ type="button"
+ className="text-white primary-gradient text-18 tracking-wide px-4 py-3 rounded-full"
+ >
+ Confirm Delete
+
+ }
+
+
+ {/* ERROR DISPLAY AND SUBMIT BUTTON */}
+ {requestStatus.message != "" && (
+ !requestStatus.status ?
+ (
+ {requestStatus.message}
+ )
+ :
+ requestStatus.status &&
+ (
+ {requestStatus.message}
+
+ )
+ )}
+ {/* End of error or success display */}
+
+
+
+
+
+ )
+}
+
+export default DeleteJobPopout
\ No newline at end of file
diff --git a/src/services/UsersService.js b/src/services/UsersService.js
index 424e8c3..2c3b806 100644
--- a/src/services/UsersService.js
+++ b/src/services/UsersService.js
@@ -438,6 +438,18 @@ class usersService {
return this.postAuxEnd("/jobmanagercreatejob", postData);
}
+ // END POINT TO DELETE A JOB
+ deleteJob(reqData) {
+ var postData = {
+ uid: localStorage.getItem("uid"),
+ member_id: localStorage.getItem("member_id"),
+ sessionid: localStorage.getItem("session_token"),
+ action: 13011,
+ ...reqData
+ };
+ return this.postAuxEnd("/jobmanagerdeletejob", postData);
+ }
+
verifyEmail(code) {
const reqData = {
verify_link: code,
|