Terms and Agreement API consumed #51

Merged
ameye merged 1 commits from terms_agreement_apicall into master 2023-05-10 12:39:28 +00:00
2 changed files with 58 additions and 3 deletions
+47 -3
View File
@@ -1,17 +1,42 @@
import React, { useState } from "react";
import { Link } from "react-router-dom";
import { Link, useNavigate } from "react-router-dom";
import Layout from "../Partials/Layout";
import MyJobTable from "./MyJobTable";
import CommonHead from "../UserHeader/CommonHead";
import SelectBox from "../Helpers/SelectBox";
import dataImage2 from "../../assets/images/data-table-user-2.png";
import LoadingSpinner from "../Spinners/LoadingSpinner";
import usersService from "../../services/UsersService";
export default function StartJob(props) {
const apiCall = new usersService() // instantiating API CALL
const navigate = useNavigate()
let [request, setRequest] = useState({loading: false, status: false, message: ''})
const [selectTab, setValue] = useState("today");
const filterHandler = (value) => {
setValue(value);
};
console.log("AMEYE LOC1", props.MyJobList);
const handleOnclick = () => {
setRequest({loading: true, status: false, message: ''})
apiCall.jobManagerAgree().then((res)=>{
if(res.status != 200 || res.data.internal_return < 1){
setRequest({loading: false, status: false, message: 'Could not complete request, Try Again'})
return
}
setRequest({loading: false, status: true, message: 'Request completed successfully'})
setTimeout(()=>{
navigate('/', {replace: true})
window.location.reload()
}, 2000)
}).catch(error => {
setRequest({loading: false, status: false, message: 'Opps! An Error Occured. Try Again'})
console.log(error)
})
}
return (
<Layout>
{/*<CommonHead />*/}
@@ -78,8 +103,27 @@ export default function StartJob(props) {
<h3 className="mb-2 mt-6 text-lg font-bold">Why does WrencBoard have this policy?</h3>
<p className="my-2 text-base">Buyers and sellers enter a contract when they complete transactions, so it's necessary to have precise details on what the transaction entails to guarantee satisfaction. This policy also helps sellers meet our performance standards.</p>
{/* error or success display */}
{request.message && !request.status ?
<div className={`relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}>
{request.message}
</div>
:
request.message && request.status &&
(<div className={`relative p-4 text-green-700 bg-slate-200 border-slate-800 mb-4 rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}>
{request.message}
</div>
)
}
{/* End of error or success display */}
<div className="my-2 p-2 flex justify-end items-center">
<button className="p-2 text-sm text-white font-medium bg-sky-800 rounded-lg hover:opacity-90">Agree to Terms</button>
{request.loading ?
<LoadingSpinner size='6' color='sky-blue' />
:
<button onClick={handleOnclick} className="text-white btn-gradient text-lg tracking-wide px-4 py-3 rounded-full">Agree to Terms</button>
}
</div>
</div>
</div>
+11
View File
@@ -415,6 +415,17 @@ class usersService {
return this.postAuxEnd("/accounttypes", postData);
}
// END POINT TO ACCEPT TERMS AND AGREEMENT
jobManagerAgree() {
var postData = {
uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"),
action: 13002
};
return this.postAuxEnd("/jobmanageragree", postData);
}
verifyEmail(code) {
const reqData = {
verify_link: code,