Compare commits

..

1 Commits

Author SHA1 Message Date
victorAnumudu 99d4301588 added link icons 2024-01-23 10:32:29 +01:00
33 changed files with 992 additions and 1254 deletions
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 32 28" viewBox="0 0 32 28" id="List"><circle cx="2" cy="2" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M8 0h24v4H8z" class="color4e4e50 svgShape"></path><circle cx="10" cy="10" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M16 8h16v4H16z" class="color4e4e50 svgShape"></path><circle cx="10" cy="26" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M16 24h16v4H16z" class="color4e4e50 svgShape"></path><circle cx="18" cy="18" r="2" fill="#767fad" class="color4e4e50 svgShape"></circle><path fill="#767fad" d="M24 16h8v4h-8z" class="color4e4e50 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 743 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="Group" x="0" y="0" version="1.1" viewBox="0 0 52 52" xml:space="preserve"><path d="M26.003 13.05c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.44 1.99-4.44 4.44a4.44 4.44 0 0 0 4.44 4.43zM11.293 38.77c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.43 1.99-4.43 4.44 0 2.44 1.98 4.43 4.43 4.43z" fill="#4687ba" class="color000000 svgShape"></path><path d="M49.493 41.93a10.091 10.091 0 0 0-3.643-3.739 6.418 6.418 0 0 1-5.138 2.58 6.392 6.392 0 0 1-4.371-1.737.975.975 0 0 0-.158-.258l-9.184-9.903V22.1h4.344c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95a10.09 10.09 0 0 0-3.643-3.739 6.418 6.418 0 0 1-5.138 2.579 6.43 6.43 0 0 1-5.144-2.58 10.085 10.085 0 0 0-3.645 3.74c-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h4.346v6.624c-.01.022-.016.044-.025.066l-9.22 9.941a.978.978 0 0 0-.22.42 6.378 6.378 0 0 1-4.242 1.62 6.417 6.417 0 0 1-5.14-2.584 10.086 10.086 0 0 0-3.65 3.743c-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h10.69c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95a10.03 10.03 0 0 0-2.134-2.612l8.01-8.636 8.055 8.685c-.815.73-1.53 1.58-2.08 2.563-.69 1.25-.67 2.72.05 3.95a3.9 3.9 0 0 0 3.39 1.94h10.69c1.41 0 2.68-.73 3.4-1.94.72-1.23.73-2.7.04-3.95z" fill="#4687ba" class="color000000 svgShape"></path><path d="M40.713 38.77c2.44 0 4.43-1.99 4.43-4.43a4.44 4.44 0 0 0-4.43-4.44c-2.45 0-4.44 1.99-4.44 4.44a4.44 4.44 0 0 0 4.44 4.43z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" id="List"><switch><g fill="#767fad" class="color000000 svgShape"><g fill="#4687ba" class="color0ac5ab svgShape"><path d="M20 0H8a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V8a8 8 0 00-8-8zM56 0H44a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V8a8 8 0 00-8-8zM20 36H8a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V44a8 8 0 00-8-8zM56 36H44a8 8 0 00-8 8v12a8 8 0 008 8h12a8 8 0 008-8V44a8 8 0 00-8-8z" fill="#767fad" class="color000000 svgShape"></path></g></g></switch></svg>

After

Width:  |  Height:  |  Size: 527 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8" id="List"><path d="M0 0v3h3V0H0zm4 0v1h4V0H4zm0 2v1h3V2H4zM0 4v3h3V4H0zm4 0v1h4V4H4zm0 2v1h3V6H4z" fill="#b22b7d" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 214 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" id="List"><path d="M9 3a6 6 0 1 0 6 6A6 6 0 0 0 9 3zM9 13a4 4 0 1 1 4-4A4 4 0 0 1 9 13zM17 9H28a1 1 0 0 0 0-2H17a1 1 0 0 0 0 2zM17 13h6a1 1 0 0 0 0-2H17a1 1 0 0 0 0 2zM9 17a6 6 0 1 0 6 6A6 6 0 0 0 9 17zM9 27a4 4 0 1 1 4-4A4 4 0 0 1 9 27zM28 21H17a1 1 0 0 0 0 2H28a1 1 0 0 0 0-2zM23 25H17a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z" fill="#4687ba" class="color000000 svgShape"></path></svg>

After

Width:  |  Height:  |  Size: 437 B

@@ -59,7 +59,7 @@ export default function ForgotPassword() {
} }
if (email !== "" && checked) { if (email !== "" && checked) {
const reqData = { email }; const reqData = { email, action:11013 };
setResetLoading(true); setResetLoading(true);
try { try {
const res = await userApi.StartResetPassword(reqData); const res = await userApi.StartResetPassword(reqData);
@@ -59,7 +59,7 @@ export default function ForgotPassword() {
} }
if (email !== "" && checked) { if (email !== "" && checked) {
const reqData = { email }; const reqData = { email, action:11013 };
setResetLoading(true); setResetLoading(true);
try { try {
const res = await userApi.StartResetPassword(reqData); const res = await userApi.StartResetPassword(reqData);
+2
View File
@@ -98,6 +98,7 @@ export default function Login() {
password: password, password: password,
sessionid: "STARTING", sessionid: "STARTING",
login_mode: 1100, login_mode: 1100,
action: 11025,
}; };
} else if (name == "family") { } else if (name == "family") {
// Post Data Info for family Login // Post Data Info for family Login
@@ -106,6 +107,7 @@ export default function Login() {
pin: password, pin: password,
sessionid: "20067A92714", sessionid: "20067A92714",
login_mode: 1105, login_mode: 1105,
action: 11025,
}; };
} else { } else {
setLoginLoading(false); setLoginLoading(false);
+4 -2
View File
@@ -97,7 +97,8 @@ export default function Login() {
username: email, username: email,
password: password, password: password,
sessionid: "STARTING", sessionid: "STARTING",
login_mode: 1100 login_mode: 1100,
action: 11025,
}; };
} else if (name == "family") { } else if (name == "family") {
// Post Data Info for family Login // Post Data Info for family Login
@@ -105,7 +106,8 @@ export default function Login() {
username: email, username: email,
pin: password, pin: password,
sessionid: "20067A92714", sessionid: "20067A92714",
login_mode: 1105 login_mode: 1105,
action: 11025,
}; };
} else { } else {
setLoginLoading(false); setLoginLoading(false);
@@ -36,7 +36,10 @@ export default function VerifyLink() {
var postData = { var postData = {
username: email, username: email,
password: password, password: password,
login_mode: 100,
sessionid: "STARTER-NOTREAL",
verify_link: token, verify_link: token,
action: 11012,
}; };
const res = await userApi?.CompleteSignUp(postData); const res = await userApi?.CompleteSignUp(postData);
@@ -36,7 +36,10 @@ export default function VerifyLink() {
var postData = { var postData = {
username: email, username: email,
password: password, password: password,
login_mode: 100,
sessionid: "STARTER-NOTREAL",
verify_link: token, verify_link: token,
action: 11012,
}; };
const res = await userApi?.CompleteSignUp(postData); const res = await userApi?.CompleteSignUp(postData);
@@ -11,11 +11,7 @@ import LoadingSpinner from "../../Spinners/LoadingSpinner";
const VerifyPassword = () => { const VerifyPassword = () => {
const [password, setPassword] = useState(""); const [password, setPassword] = useState("");
const [confirmPassword, setConfirmPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState("");
const [requestStatus, setRequestStatus] = useState({ const [requestStatus, setRequestStatus] = useState({loading: true, status:false, data: []})
loading: true,
status: false,
data: [],
});
const [msgError, setMsgError] = useState(""); const [msgError, setMsgError] = useState("");
const [linkLoader, setLinkLoader] = useState(false); const [linkLoader, setLinkLoader] = useState(false);
const [linkSuccess, setLinkSuccess] = useState(null); const [linkSuccess, setLinkSuccess] = useState(null);
@@ -39,32 +35,26 @@ const VerifyPassword = () => {
}; };
const completeReset = async () => { const completeReset = async () => {
if (!password || !confirmPassword) { if(!password || !confirmPassword){ // CHECKS IF PASSWORD IS EMPTY
// CHECKS IF PASSWORD IS EMPTY
setMsgError("Please fill in fields"); setMsgError("Please fill in fields");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (password != confirmPassword) { if(password != confirmPassword){ // CHECKS IF PASSWORD EQUALS CONFIRM PASSWORD
// CHECKS IF PASSWORD EQUALS CONFIRM PASSWORD
setMsgError("Passwords does not match"); setMsgError("Passwords does not match");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (password.length < 6) { if(password.length < 6){ // CHECKS IF PASSWORD LENGTH IS UPTO 6 CHARACTERS
// CHECKS IF PASSWORD LENGTH IS UPTO 6 CHARACTERS
setMsgError("Password must be upto six characters"); setMsgError("Password must be upto six characters");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (!PasswordValidator(password)) { if(!PasswordValidator(password)){ // CHECKS IF PASSWORD IS VALID
// CHECKS IF PASSWORD IS VALID setMsgError("Password must contain alphanumeric, uppercase and special character: eg: Password1@");
setMsgError(
"Password must contain alphanumeric, uppercase and special character: eg: Password1@"
);
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
@@ -72,11 +62,13 @@ const VerifyPassword = () => {
try { try {
setLinkLoader(true); setLinkLoader(true);
var reqData = { var reqData = {
sessionid: "DUMMY-CANNOT_BE_EMPTY",
reset_link: token, reset_link: token,
newpass: password, newpass: password,
m_uid: requestStatus.data?.m_uid || "", m_uid: requestStatus.data?.m_uid || '',
reset_uid: requestStatus.data?.reset_uid || "", reset_uid: requestStatus.data?.reset_uid || '',
step: 300, step: 300,
action: 730,
}; };
const res = await userApi?.CompleteResetPassword(reqData); const res = await userApi?.CompleteResetPassword(reqData);
@@ -108,33 +100,31 @@ const VerifyPassword = () => {
} }
}; };
const verifyResetPwd = () => { const verifyResetPwd = () => { // FUNCTION TO VERIFY RESET PASSWORD LINK
// FUNCTION TO VERIFY RESET PASSWORD LINK setRequestStatus({loading: true, status:false, data: []})
setRequestStatus({ loading: true, status: false, data: [] });
var reqData = { var reqData = {
sessionid: "DUMMY-CANNOT_BE_EMPTY",
reset_link: token, reset_link: token,
step: 200, step: 200,
action: 730,
}; };
userApi userApi.CompleteResetPassword(reqData).then(res => {
.CompleteResetPassword(reqData)
.then((res) => {
if(res.status != 200 || res.data.internal_return < 0){ if(res.status != 200 || res.data.internal_return < 0){
return setRequestStatus({ loading: false, status: false, data: [] }); return setRequestStatus({loading: false, status:false, data: []})
} }
setRequestStatus({ loading: false, status: true, data: res.data }); setRequestStatus({loading: false, status:true, data: res.data})
}).catch(error => {
setRequestStatus({loading: false, status:false, data: []})
}) })
.catch((error) => { }
setRequestStatus({ loading: false, status: false, data: [] });
});
};
useEffect(()=>{ useEffect(()=>{
// little checker for the validity of the token // little checker for the validity of the token
if (token==null || token?.length != 64) { if (token==null || token?.length != 64) {
return setRequestStatus({loading: false, status:false, data: []}); return setRequestStatus({loading: false, status:false, data: []});
} }
verifyResetPwd(); verifyResetPwd()
}, []); },[])
return ( return (
<> <>
<AuthLayout slogan="Welcome to WrenchBoard"> <AuthLayout slogan="Welcome to WrenchBoard">
@@ -149,11 +139,12 @@ const VerifyPassword = () => {
</Link> </Link>
</div> </div>
<div className="content-wrapper login shadow-md w-full lg:max-w-[500px] mx-auto flex justify-center items-center dark:bg-dark-white 2xl:w-[828px] rounded-[0.475rem] sm:p-7 p-5"> <div className="content-wrapper login shadow-md w-full lg:max-w-[500px] mx-auto flex justify-center items-center dark:bg-dark-white 2xl:w-[828px] rounded-[0.475rem] sm:p-7 p-5">
{requestStatus.loading ? ( {requestStatus.loading ?
<LoadingSpinner color="sky-blue" size="16" height="h-300px" /> <LoadingSpinner color='sky-blue' size='16' height='h-300px' />
) : !requestStatus.loading && requestStatus.status ? ( :
!requestStatus.loading && requestStatus.status ?
<div className="w-full"> <div className="w-full">
{linkSuccess == null ? ( {linkSuccess == null ?
<> <>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7"> <div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]"> <h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
@@ -168,8 +159,7 @@ const VerifyPassword = () => {
</div> </div>
<div> <div>
<p className="text-red-500 font-semibold mb-3 leading-[27.3px] text-[13px]"> <p className="text-red-500 font-semibold mb-3 leading-[27.3px] text-[13px]">
Must include a special, numeric, uppercase and lowercase Must include a special, numeric, uppercase and lowercase character
character
</p> </p>
</div> </div>
<SuccessfulComponent <SuccessfulComponent
@@ -184,33 +174,24 @@ const VerifyPassword = () => {
navigateHandler={() => navigate("/login")} navigateHandler={() => navigate("/login")}
/> />
</> </>
) : ( :
<ForgetPwdResponse <ForgetPwdResponse
title={ title={linkSuccess? 'Password Reset Complete' : 'Password Reset Error'}
linkSuccess message={linkSuccess? 'Password Reset Complete. You can login now with your new credentials' : 'Password Reset Error. Please get in touch with support for further support'
? "Password Reset Complete"
: "Password Reset Error"
}
message={
linkSuccess
? "Password Reset Complete. You can login now with your new credentials"
: "Password Reset Error. Please get in touch with support for further support"
} }
type={linkSuccess} type={linkSuccess}
/> />
)} }
</div> </div>
) : ( :
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7"> <div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<ForgetPwdResponse <ForgetPwdResponse
title={"Forget Password"} title={'Forget Password'}
message={ message={'We are unable to continue to reset process. This error is usually due to expired links. Please start all over or contact us'}
"We are unable to continue to reset process. This error is usually due to expired links. Please start all over or contact us"
}
type={requestStatus.status} type={requestStatus.status}
/> />
</div> </div>
)} }
</div> </div>
</div> </div>
</AuthLayout> </AuthLayout>
@@ -11,11 +11,7 @@ import LoadingSpinner from "../../Spinners/LoadingSpinner";
const VerifyPassword = () => { const VerifyPassword = () => {
const [password, setPassword] = useState(""); const [password, setPassword] = useState("");
const [confirmPassword, setConfirmPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState("");
const [requestStatus, setRequestStatus] = useState({ const [requestStatus, setRequestStatus] = useState({loading: true, status:false, data: []})
loading: true,
status: false,
data: [],
});
const [msgError, setMsgError] = useState(""); const [msgError, setMsgError] = useState("");
const [linkLoader, setLinkLoader] = useState(false); const [linkLoader, setLinkLoader] = useState(false);
const [linkSuccess, setLinkSuccess] = useState(null); const [linkSuccess, setLinkSuccess] = useState(null);
@@ -39,32 +35,26 @@ const VerifyPassword = () => {
}; };
const completeReset = async () => { const completeReset = async () => {
if (!password || !confirmPassword) { if(!password || !confirmPassword){ // CHECKS IF PASSWORD IS EMPTY
// CHECKS IF PASSWORD IS EMPTY
setMsgError("Please fill in fields"); setMsgError("Please fill in fields");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (password != confirmPassword) { if(password != confirmPassword){ // CHECKS IF PASSWORD EQUALS CONFIRM PASSWORD
// CHECKS IF PASSWORD EQUALS CONFIRM PASSWORD
setMsgError("Passwords does not match"); setMsgError("Passwords does not match");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (password.length < 6) { if(password.length < 6){ // CHECKS IF PASSWORD LENGTH IS UPTO 6 CHARACTERS
// CHECKS IF PASSWORD LENGTH IS UPTO 6 CHARACTERS
setMsgError("Password must be upto six characters"); setMsgError("Password must be upto six characters");
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
} }
if (!PasswordValidator(password)) { if(!PasswordValidator(password)){ // CHECKS IF PASSWORD IS VALID
// CHECKS IF PASSWORD IS VALID setMsgError("Password must contain alphanumeric, uppercase and special character: eg: Password1@");
setMsgError(
"Password must contain alphanumeric, uppercase and special character: eg: Password1@"
);
return setTimeout(() => { return setTimeout(() => {
setMsgError(null); setMsgError(null);
}, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT); }, process.env.REACT_APP_RESET_START_ERROR_TIMEOUT);
@@ -72,11 +62,13 @@ const VerifyPassword = () => {
try { try {
setLinkLoader(true); setLinkLoader(true);
var reqData = { var reqData = {
sessionid: "DUMMY-CANNOT_BE_EMPTY",
reset_link: token, reset_link: token,
newpass: password, newpass: password,
m_uid: requestStatus.data?.m_uid || "", m_uid: requestStatus.data?.m_uid || '',
reset_uid: requestStatus.data?.reset_uid || "", reset_uid: requestStatus.data?.reset_uid || '',
step: 300, step: 300,
action: 730,
}; };
const res = await userApi?.CompleteResetPassword(reqData); const res = await userApi?.CompleteResetPassword(reqData);
@@ -108,33 +100,31 @@ const VerifyPassword = () => {
} }
}; };
const verifyResetPwd = () => { const verifyResetPwd = () => { // FUNCTION TO VERIFY RESET PASSWORD LINK
// FUNCTION TO VERIFY RESET PASSWORD LINK setRequestStatus({loading: true, status:false, data: []})
setRequestStatus({ loading: true, status: false, data: [] });
var reqData = { var reqData = {
sessionid: "DUMMY-CANNOT_BE_EMPTY",
reset_link: token, reset_link: token,
step: 200, step: 200,
action: 730,
}; };
userApi userApi.CompleteResetPassword(reqData).then(res => {
.CompleteResetPassword(reqData)
.then((res) => {
if(res.status != 200 || res.data.internal_return < 0){ if(res.status != 200 || res.data.internal_return < 0){
return setRequestStatus({ loading: false, status: false, data: [] }); return setRequestStatus({loading: false, status:false, data: []})
} }
setRequestStatus({ loading: false, status: true, data: res.data }); setRequestStatus({loading: false, status:true, data: res.data})
}).catch(error => {
setRequestStatus({loading: false, status:false, data: []})
}) })
.catch((error) => { }
setRequestStatus({ loading: false, status: false, data: [] });
});
};
useEffect(()=>{ useEffect(()=>{
// little checker for the validity of the token // little checker for the validity of the token
if (token==null || token?.length != 64) { if (token==null || token?.length != 64) {
return setRequestStatus({loading: false, status:false, data: []}); return setRequestStatus({loading: false, status:false, data: []});
} }
verifyResetPwd(); verifyResetPwd()
}, []); },[])
return ( return (
<> <>
<AuthLayout slogan="Welcome to WrenchBoard"> <AuthLayout slogan="Welcome to WrenchBoard">
@@ -149,11 +139,12 @@ const VerifyPassword = () => {
</Link> </Link>
</div> </div>
<div className="flex place-content-center"> <div className="flex place-content-center">
{requestStatus.loading ? ( {requestStatus.loading ?
<LoadingSpinner color="sky-blue" size="16" height="h-300px" /> <LoadingSpinner color='sky-blue' size='16' height='h-300px' />
) : !requestStatus.loading && requestStatus.status ? ( :
!requestStatus.loading && requestStatus.status ?
<div className="w-11/12 sm:max-w-[500px]"> <div className="w-11/12 sm:max-w-[500px]">
{linkSuccess == null ? ( {linkSuccess == null ?
<> <>
<div className="title-area flex flex-col justify-center items-center relative text-center mb-7"> <div className="title-area flex flex-col justify-center items-center relative text-center mb-7">
<h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]"> <h1 className="text-[#181c32] font-semibold dark:text-white mb-3 leading-[27.3px] text-[22.75px]">
@@ -168,8 +159,7 @@ const VerifyPassword = () => {
</div> </div>
<div> <div>
<p className="text-red-500 font-semibold mb-3 leading-[27.3px] text-[13px]"> <p className="text-red-500 font-semibold mb-3 leading-[27.3px] text-[13px]">
Must include a special, numeric, uppercase and lowercase Must include a special, numeric, uppercase and lowercase character
character
</p> </p>
</div> </div>
<SuccessfulComponent <SuccessfulComponent
@@ -184,33 +174,24 @@ const VerifyPassword = () => {
navigateHandler={() => navigate("/login")} navigateHandler={() => navigate("/login")}
/> />
</> </>
) : ( :
<ForgetPwdResponse <ForgetPwdResponse
title={ title={linkSuccess? 'Password Reset Complete' : 'Password Reset Error'}
linkSuccess message={linkSuccess? 'Password Reset Complete. You can login now with your new credentials' : 'Password Reset Error. Please get in touch with support for further support'
? "Password Reset Complete"
: "Password Reset Error"
}
message={
linkSuccess
? "Password Reset Complete. You can login now with your new credentials"
: "Password Reset Error. Please get in touch with support for further support"
} }
type={linkSuccess} type={linkSuccess}
/> />
)} }
</div> </div>
) : ( :
<div className="w-11/12 sm:max-w-[500px] title-area flex flex-col justify-center items-center relative text-center mb-7"> <div className="w-11/12 sm:max-w-[500px] title-area flex flex-col justify-center items-center relative text-center mb-7">
<ForgetPwdResponse <ForgetPwdResponse
title={"Forget Password"} title={'Forget Password'}
message={ message={'We are unable to continue to reset process. This error is usually due to expired links. Please start all over or contact us'}
"We are unable to continue to reset process. This error is usually due to expired links. Please start all over or contact us"
}
type={requestStatus.status} type={requestStatus.status}
/> />
</div> </div>
)} }
</div> </div>
</div> </div>
</AuthLayout> </AuthLayout>
@@ -13,7 +13,6 @@ import usersService from "../../services/UsersService";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import AssignTaskPopout from "./FamilyPopout/AssignTaskPopout"; import AssignTaskPopout from "./FamilyPopout/AssignTaskPopout";
import FamilyWallet from "./Tabs/FamilyWallet"; import FamilyWallet from "./Tabs/FamilyWallet";
import { apiConst } from "../../lib/apiConst";
// Lazy Imports for components // Lazy Imports for components
const FamilyWaitlist = lazy(() => import("./Tabs/FamilyWaitlist")); const FamilyWaitlist = lazy(() => import("./Tabs/FamilyWaitlist"));
@@ -128,7 +127,7 @@ export default function FamilyManageTabs({
file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(), file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(),
file_data: base64Img, file_data: base64Img,
msg_type: 'FILE', msg_type: 'FILE',
action: apiConst.WRENCHBOARD_PICTURE_FAMMEMBER action: 11305
} }
setUploadStatus({loading: true, status: false, message:'Loading...'}) setUploadStatus({loading: true, status: false, message:'Loading...'})
apiCall.sendFiles(reqData).then(res=>{ apiCall.sendFiles(reqData).then(res=>{
@@ -286,7 +285,7 @@ export default function FamilyManageTabs({
limit: 30, limit: 30,
offset: 0, offset: 0,
job_type: "FAMILY", job_type: "FAMILY",
action: apiConst.WRENCHBOARD_PICTURE_FAMMEMBER, action: 13005,
}; };
if (checkFamilyTask) { if (checkFamilyTask) {
@@ -1,6 +1,5 @@
import React, { useMemo, useRef, useState } from "react"; import React, { useMemo, useRef, useState } from "react";
import usersService from "../../../../services/UsersService"; import usersService from "../../../../services/UsersService";
import { apiConst } from "../../../../lib/apiConst";
const FamilyBanner = ({ imageServer }) => { const FamilyBanner = ({ imageServer }) => {
const uploadedImage = `${imageServer}${localStorage.getItem( const uploadedImage = `${imageServer}${localStorage.getItem(
@@ -66,7 +65,7 @@ const FamilyBanner = ({ imageServer }) => {
file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(), file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(),
file_data: base64Img, file_data: base64Img,
msg_type: "FILE", msg_type: "FILE",
action: apiConst.WRENCHBOARD_PICTURE_JOB, action: 11303,
}; };
setUploadStatus({ setUploadStatus({
loading: true, loading: true,
@@ -55,6 +55,7 @@ export default function FamilyProfile({ familyData, className }) {
year: familyData?.year, year: familyData?.year,
month: familyData?.month, month: familyData?.month,
enable_traking: familyData?.enable_traking, enable_traking: familyData?.enable_traking,
action: 22020,
}; };
// const handleChange = ({ target: { name, value } }) => { // const handleChange = ({ target: { name, value } }) => {
@@ -1,16 +1,15 @@
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from 'react'
import ModalCom from "../../../Helpers/ModalCom"; import ModalCom from '../../../Helpers/ModalCom'
import InputCom from "../../../Helpers/Inputs/InputCom"; import InputCom from '../../../Helpers/Inputs/InputCom'
import { Form, Formik } from "formik"; import { Form, Formik } from "formik";
import * as Yup from "yup"; import * as Yup from "yup";
import { AmountTo2DP } from "../../../Helpers/PriceFormatter"; import {AmountTo2DP} from '../../../Helpers/PriceFormatter'
import usersService from "../../../../services/UsersService"; import usersService from '../../../../services/UsersService';
import LoadingSpinner from "../../../Spinners/LoadingSpinner"; import LoadingSpinner from '../../../Spinners/LoadingSpinner';
import { PriceFormatter } from "../../../Helpers/PriceFormatter"; import { PriceFormatter } from '../../../Helpers/PriceFormatter';
import { tableReload } from "../../../../store/TableReloads"; import { tableReload } from '../../../../store/TableReloads';
import { useDispatch } from "react-redux"; import { useDispatch } from 'react-redux';
import { apiConst } from "../../../../lib/apiConst";
const validationSchema = Yup.object().shape({ const validationSchema = Yup.object().shape({
// amount: Yup.string() // amount: Yup.string()
@@ -23,44 +22,39 @@ const validationSchema = Yup.object().shape({
// return true; // return true;
// }) // })
// .required("Amount is required"), // .required("Amount is required"),
amount: Yup.number("Please enter a number") amount: Yup.number('Please enter a number')
.min(1, "Price must be greater than 0") .min(1, "Price must be greater than 0")
.required("Amount is required"), .required("Amount is required"),
comment: Yup.string().required("Comment is required"), comment: Yup.string()
.required("Comment is required"),
}); });
function FamilyAddFundPopout({action, situation, wallet, familyData}) { function FamilyAddFundPopout({action, situation, wallet, familyData}) {
const dispatch = useDispatch();
const apiUrl = new usersService(); const dispatch = useDispatch()
const [startTransfer, setStartTransfer] = useState({ const apiUrl = new usersService()
loading: true,
data: {}, const [startTransfer, setStartTransfer] = useState({loading:true, data: {}})
});
const [requestStatus, setRequestStatus] = useState({loading:false, status:false, message:''})
const [requestStatus, setRequestStatus] = useState({
loading: false,
status: false,
message: "",
});
// initial values for formik // initial values for formik
let initialValues = { let initialValues = {
amount: "", amount: '',
from : AmountTo2DP(startTransfer?.data?.origing_current_balance*0.01), from : AmountTo2DP(startTransfer?.data?.origing_current_balance*0.01),
to: `${familyData.firstname} ${familyData.lastname}`, to: `${familyData.firstname} ${familyData.lastname}`,
comment: "", comment: ''
}; };
// FUNCTION TO PERFORM FAMILY TRANSFER // FUNCTION TO PERFORM FAMILY TRANSFER
const handleAddFund = (values) => { const handleAddFund = (values) => {
setRequestStatus({ loading: true, status: false, message: "" }); setRequestStatus({loading:true, status:false, message:''})
let senderBal = startTransfer?.data?.origing_current_balance || ""; // SENDER'S ACCOUNT BALANCE let senderBal = startTransfer?.data?.origing_current_balance || '' // SENDER'S ACCOUNT BALANCE
let senderLimit = startTransfer?.data?.origing_transfer_limit || ""; // SENDER'S TRANSFER LIMIT let senderLimit = startTransfer?.data?.origing_transfer_limit || '' // SENDER'S TRANSFER LIMIT
let reqData = { let reqData = { // API REQUEST DATA
// API REQUEST DATA
family_uid : familyData.uid, family_uid : familyData.uid,
wallet_uid : wallet.wallet_uid, wallet_uid : wallet.wallet_uid,
origing_wallet_uid : startTransfer?.data?.origing_wallet_uid, origing_wallet_uid : startTransfer?.data?.origing_wallet_uid,
@@ -68,104 +62,64 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
amount : values.amount*100, amount : values.amount*100,
description : values.comment, description : values.comment,
family_transfer_mode : 100, family_transfer_mode : 100,
action: apiConst.WRENCHBOARD_FAMILY_TRANSFER, action : 22014
};
if (!senderBal || !senderLimit) {
// RETURNS UNAUTHORIZED, IF SENDER BAL OR LIMIT IS NOT AVAILABLE
setRequestStatus({
loading: false,
status: false,
message: "Unauthorized, try again later",
});
return setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 5000);
} }
if (values.amount > senderBal * 0.01) { if(!senderBal || !senderLimit){ // RETURNS UNAUTHORIZED, IF SENDER BAL OR LIMIT IS NOT AVAILABLE
// CHECKS TO SEE IF SENDER IS SENDING MORE THAN HIS BALANCE setRequestStatus({loading:false, status:false, message:'Unauthorized, try again later'})
setRequestStatus({
loading: false,
status: false,
message: "You cannot send more than your balance",
});
return setTimeout(()=>{ return setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 5000); }, 5000)
} }
if (values.amount > senderLimit * 0.01) { if(values.amount > senderBal*0.01){ // CHECKS TO SEE IF SENDER IS SENDING MORE THAN HIS BALANCE
// CHECKS TO SEE IF SENDER IS SENDING MORE THAN HIS LIMIT setRequestStatus({loading:false, status:false, message:'You cannot send more than your balance'})
setRequestStatus({
loading: false,
status: false,
message: `You cannot exceed ${senderLimit * 0.01} ${
startTransfer?.data?.origing_currency.charAt(0).toUpperCase() +
startTransfer?.data?.origing_currency.slice(1).toLowerCase()
}`,
});
return setTimeout(()=>{ return setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 5000); }, 5000)
} }
apiUrl if(values.amount > senderLimit*0.01){ // CHECKS TO SEE IF SENDER IS SENDING MORE THAN HIS LIMIT
.familyTransfer(reqData) setRequestStatus({loading:false, status:false, message:`You cannot exceed ${senderLimit*0.01} ${startTransfer?.data?.origing_currency.charAt(0).toUpperCase() + startTransfer?.data?.origing_currency.slice(1).toLowerCase()}`})
.then(({ data }) => {
if (
data.internal_return < 0 ||
data.credit_confirm == "" ||
data.pay_confirm == ""
) {
setRequestStatus({
loading: false,
status: false,
message: "Transfer Failed",
});
return setTimeout(()=>{ return setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 5000); }, 5000)
} }
setRequestStatus({
loading: false, apiUrl.familyTransfer(reqData).then(({data}) => {
status: true, if(data.internal_return < 0 || data.credit_confirm == '' || data.pay_confirm == ''){
message: "Transfer Successful", setRequestStatus({loading:false, status:false, message:'Transfer Failed'})
}); return setTimeout(()=>{
setRequestStatus({loading:false, status:false, message:''})
}, 5000)
}
setRequestStatus({loading:false, status:true, message:'Transfer Successful'})
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
dispatch(tableReload({ type: "WALLETTABLE" })); // UPDATES PARENT WALLET ACCOUNT dispatch(tableReload({ type: "WALLETTABLE" })); // UPDATES PARENT WALLET ACCOUNT
action(); // TO CLOSE THE MODAL action() // TO CLOSE THE MODAL
}, 5000); }, 5000)
}) }).catch(error => {
.catch((error) => { setRequestStatus({loading:false, status:false, message:'Network Error, try again'})
setRequestStatus({
loading: false,
status: false,
message: "Network Error, try again",
});
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 5000); }, 5000)
}); })
}; }
// LOAD FAMILY START TRANSFER // LOAD FAMILY START TRANSFER
useEffect(()=>{ useEffect(()=>{
let reqData = { let reqData = {
family_uid: familyData.uid, family_uid: familyData.uid,
wallet_uid: wallet.wallet_uid, wallet_uid: wallet.wallet_uid,
action: apiConst.WRENCHBOARD_FAMILY_TRANSFERSTART, action: 22013
}; }
apiUrl apiUrl.familyTransferStart(reqData).then(response => {
.familyTransferStart(reqData) setStartTransfer({loading:false, data:response?.data })
.then((response) => { }).catch(err => {
setStartTransfer({ loading: false, data: response?.data }); setStartTransfer({loading:false, data: {}})
}) })
.catch((err) => { },[])
setStartTransfer({ loading: false, data: {} });
});
}, []);
return ( return (
<ModalCom action={action} situation={situation}> <ModalCom action={action} situation={situation}>
@@ -201,11 +155,9 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
</button> </button>
</div> </div>
<div className="logout-modal-body w-full flex flex-col items-center px-10 py-8"> <div className="logout-modal-body w-full flex flex-col items-center px-10 py-8">
{startTransfer.loading && ( {startTransfer.loading && <LoadingSpinner size='16' color='sky-blue' height={'h-64'} />}
<LoadingSpinner size="16" color="sky-blue" height={"h-64"} />
)}
{!startTransfer.loading && ( { !startTransfer.loading &&
<Formik <Formik
initialValues={initialValues} initialValues={initialValues}
validationSchema={validationSchema} validationSchema={validationSchema}
@@ -224,11 +176,7 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
type="text" type="text"
parentClass="flex items-center gap-1 w-full" parentClass="flex items-center gap-1 w-full"
labelClass="flex-[0.3] mb-0" labelClass="flex-[0.3] mb-0"
inputClass={`flex-[0.7] input-curve lg border border-[#dce4e9] ${ inputClass={`flex-[0.7] input-curve lg border border-[#dce4e9] ${props.errors.amount && props.touched.amount ? 'border border-red-500' : ''}`}
props.errors.amount && props.touched.amount
? "border border-red-500"
: ""
}`}
fieldClass="px-2 text-right" fieldClass="px-2 text-right"
value={props.values.amount} value={props.values.amount}
inputHandler={props.handleChange} inputHandler={props.handleChange}
@@ -280,11 +228,7 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
<textarea <textarea
// id="Job Delivery Details" // id="Job Delivery Details"
rows="2" rows="2"
className={`input-field px-3 py-2 placeholder:text-base text-dark-gray dark:text-white w-full bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-[#dce4e9] rounded-[10px] border ${ className={`input-field px-3 py-2 placeholder:text-base text-dark-gray dark:text-white w-full bg-slate-100 dark:bg-[#11131F] focus:ring-0 focus:outline-[#dce4e9] rounded-[10px] border ${props.errors.comment && props.touched.comment ? 'border border-red-500' : ''}`}
props.errors.comment && props.touched.comment
? "border border-red-500"
: ""
}`}
style={{ resize: "none" }} style={{ resize: "none" }}
name="comment" name="comment"
value={props.values.comment} value={props.values.comment}
@@ -303,6 +247,7 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
<div <div
className={`relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`} className={`relative p-4 text-[#912741] bg-[#fcd9e2] border-[#fbc6d3] rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
// className={`pb-1 absolute bottom-0 left-1/2 -translate-x-1/2 text-[#912741] rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`} // className={`pb-1 absolute bottom-0 left-1/2 -translate-x-1/2 text-[#912741] rounded-[0.475rem] text-md font-light leading-[19.5px] text-[13px]`}
> >
{requestStatus.message} {requestStatus.message}
</div> </div>
@@ -328,19 +273,17 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
Cancel Cancel
</button> </button>
<> <>
{requestStatus.loading ? ( {requestStatus.loading ?
<LoadingSpinner size="6" color="sky-blue" /> <LoadingSpinner size='6' color='sky-blue' />
) : ( :
<button <button
type="submit" type="submit"
className={`w-[150px] h-[48px] rounded-full text-base text-white bg-sky-500 hover:bg-sky-400 ${ className={`w-[150px] h-[48px] rounded-full text-base text-white bg-sky-500 hover:bg-sky-400 ${requestStatus.status ? 'opacity-50' : ''}`}
requestStatus.status ? "opacity-50" : ""
}`}
disabled={requestStatus.status} disabled={requestStatus.status}
> >
Send Send
</button> </button>
)} }
</> </>
</div> </div>
</div> </div>
@@ -348,11 +291,11 @@ function FamilyAddFundPopout({ action, situation, wallet, familyData }) {
</Form> </Form>
)} )}
</Formik> </Formik>
)} }
</div> </div>
</div> </div>
</ModalCom> </ModalCom>
); )
} }
export default FamilyAddFundPopout; export default FamilyAddFundPopout
+7 -1
View File
@@ -102,7 +102,13 @@ export default function FamilyAcc() {
const memberList = useCallback(async () => { const memberList = useCallback(async () => {
setLoader(true); setLoader(true);
try { try {
const res = await apiCall.familyListings(); const reqData = {
limit: 20,
offset: 0,
action: 22010,
};
const res = await apiCall.familyListings(reqData);
const { data } = res; const { data } = res;
if (data?.internal_return >= 0 && data?.status === "OK") { if (data?.internal_return >= 0 && data?.status === "OK") {
const { result_list, session_image_server } = data; const { result_list, session_image_server } = data;
+18
View File
@@ -560,6 +560,24 @@ export default function Icons({ name }) {
src={localImgLoad("images/icons/family-pin.svg")} src={localImgLoad("images/icons/family-pin.svg")}
alt="family-pin" alt="family-pin"
/> />
) : name === "pending-job" ? (
<img
className="w-[19px] h-[19px]"
src={localImgLoad("images/icons/job_pending.svg")}
alt="Pending Job"
/>
) : name === "active-job" ? (
<img
className="w-[17px] h-[17px]"
src={localImgLoad("images/icons/job_active.svg")}
alt="Active Job"
/>
) : name === "job-list" ? (
<img
className="w-[17px] h-[17px]"
src={localImgLoad("images/icons/job_list.svg")}
alt="Job List"
/>
) : ( ) : (
"" ""
)} )}
+40 -66
View File
@@ -1,20 +1,20 @@
import React, { useState } from "react"; import React, { useState } from 'react'
import ModalCom from "../Helpers/ModalCom"; import ModalCom from '../Helpers/ModalCom'
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from '../Spinners/LoadingSpinner'
import InputCom from "../Helpers/Inputs/InputCom/index"; import InputCom from '../Helpers/Inputs/InputCom/index'
import usersService from "../../services/UsersService"; import usersService from '../../services/UsersService'
import { apiConst } from "../../lib/apiConst";
export default function AddGroup({action, situation , setUpdateList}) { export default function AddGroup({action, situation , setUpdateList}) {
const api = new usersService();
const [name, setName] = useState(""); const api = new usersService()
const [name, setName] = useState('')
const handleChange = ({target:{name, value}}) =>{ const handleChange = ({target:{name, value}}) =>{
setName(value); setName(value)
}; }
let [requestStatus, setRequestStatus] = useState({ let [requestStatus, setRequestStatus] = useState({
loading: false, loading: false,
@@ -23,71 +23,47 @@ export default function AddGroup({ action, situation, setUpdateList }) {
}); // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER }); // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER
const addGroup = () => { const addGroup = () => {
setRequestStatus({ loading: true, status: false, message: "" }); setRequestStatus({loading:true, status:false, message:''})
if (name == "") { if(name == ''){
setRequestStatus({ setRequestStatus({loading:false, status:false, message:'Please enter a group name'})
loading: false,
status: false,
message: "Please enter a group name",
});
return setTimeout(()=>{ return setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 3000); },3000)
} }
if(name.length < 6){ if(name.length < 6){
setRequestStatus({ setRequestStatus({loading:false, status:false, message:'Group name must be up to six characters'})
loading: false,
status: false,
message: "Group name must be up to six characters",
});
return setTimeout(()=>{ return setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 3000); },3000)
} }
api api.jobGroupAdd({group_name:name, action:13025}).then(response => {
.jobGroupAdd({ let {status, data} = response
group_name: name,
action: apiConst.WRENCHBOARD_JOB_OFFER_SYSTEM,
})
.then((response) => {
let { status, data } = response;
if(status != 200 || data.internal_return < 0){ if(status != 200 || data.internal_return < 0){
setRequestStatus({ setRequestStatus({loading:false, status:false, message:'Unable to add Group'})
loading: false, return
status: false,
message: "Unable to add Group",
});
return;
} }
setRequestStatus({ setRequestStatus({loading:false, status:true, message:'Group Added'})
loading: false,
status: true,
message: "Group Added",
});
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
// close modal // close modal
action(); action()
// reload group page // reload group page
setUpdateList((prev) => !prev); setUpdateList(prev => !prev)
}, 3000); },3000)
}) }).catch(error => {
.catch((error) => { setRequestStatus({loading:false, status:false, message:'Unable to add Group, try again later'})
setRequestStatus({ }).finally(()=>{
loading: false,
status: false,
message: "Unable to add Group, try again later",
});
})
.finally(() => {
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message:''})
}, 3000); },3000)
}); })
}; }
return ( return (
<ModalCom action={action} situation={situation}> <ModalCom
action={action}
situation={situation}
>
<div className="logout-modal-wrapper lg:w-[500px] h-full lg:h-auto bg-white dark:bg-dark-white lg:rounded-2xl"> <div className="logout-modal-wrapper lg:w-[500px] h-full lg:h-auto bg-white dark:bg-dark-white lg:rounded-2xl">
<div className="logout-modal-header w-full flex items-center justify-between lg:px-10 lg:py-8 px-[30px] py-[23px] border-b border-light-purple dark:border-[#5356fb29] "> <div className="logout-modal-header w-full flex items-center justify-between lg:px-10 lg:py-8 px-[30px] py-[23px] border-b border-light-purple dark:border-[#5356fb29] ">
<h1 className="text-26 font-bold text-dark-gray dark:text-white tracking-wide"> <h1 className="text-26 font-bold text-dark-gray dark:text-white tracking-wide">
@@ -141,9 +117,7 @@ export default function AddGroup({ action, situation, setUpdateList }) {
type="button" type="button"
className="text-base text-light-red tracking-wide " className="text-base text-light-red tracking-wide "
> >
<span className="border-b dark:border-[#5356fb29] border-light-red"> <span className="border-b dark:border-[#5356fb29] border-light-red">Cancel</span>
Cancel
</span>
</button> </button>
{requestStatus.loading ? ( {requestStatus.loading ? (
<LoadingSpinner size="8" color="sky-blue" /> <LoadingSpinner size="8" color="sky-blue" />
@@ -179,5 +153,5 @@ export default function AddGroup({ action, situation, setUpdateList }) {
</div> </div>
</div> </div>
</ModalCom> </ModalCom>
); )
} }
+103 -136
View File
@@ -1,29 +1,25 @@
import React, { useState } from "react"; import React, { useState } from 'react'
import InputCom from "../../components/Helpers/Inputs/InputCom/index"; import InputCom from '../../components/Helpers/Inputs/InputCom/index'
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from '../Spinners/LoadingSpinner'
import GroupMemberTable from "./GroupMemberTable"; import GroupMemberTable from './GroupMemberTable'
import EmailValidator from "../../lib/EmailValidator"; import EmailValidator from '../../lib/EmailValidator'
import usersService from "../../services/UsersService"; import usersService from '../../services/UsersService'
import { apiConst } from "../../lib/apiConst";
export default function MemberList({ export default function MemberList({groupList, selectedGroup, setUpdateList}) {
groupList,
selectedGroup, const api = new usersService()
setUpdateList,
}) {
const api = new usersService();
const [fields, setFields] = useState({ const [fields, setFields] = useState({
firstname: "", firstname: '',
lastname: "", lastname: '',
email: "", email: ''
}); })
const handleFieldsChange = ({target:{name, value}}) => { const handleFieldsChange = ({target:{name, value}}) => {
setFields((prev) => ({ ...prev, [name]: value })); setFields(prev => ({...prev, [name]:value}))
// let error = requestState?.errors?.indexOf(name) //// checks if the input field was in error array and removes it when the input changes // let error = requestState?.errors?.indexOf(name) //// checks if the input field was in error array and removes it when the input changes
// if(error >= 0){ // if(error >= 0){
// let oldErrorArr = requestState.errors // let oldErrorArr = requestState.errors
@@ -31,45 +27,45 @@ export default function MemberList({
// setRequestState(prev => ({...prev, errors:oldErrorArr})) // setRequestState(prev => ({...prev, errors:oldErrorArr}))
// } // }
if (value == "") { if(value == ''){
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: [name], errors: [name]
}); })
}else{ }else{
let error = requestState?.errors?.indexOf(name); //// checks if the input field was in error array and removes it when the input changes let error = requestState?.errors?.indexOf(name) //// checks if the input field was in error array and removes it when the input changes
if(error >= 0){ if(error >= 0){
let oldErrorArr = requestState.errors; let oldErrorArr = requestState.errors
let newErrorArr = oldErrorArr.splice(error, 1); let newErrorArr = oldErrorArr.splice(error, 1)
setRequestState((prev) => ({ ...prev, errors: oldErrorArr })); setRequestState(prev => ({...prev, errors:oldErrorArr}))
} }
} }
if (name == "email") { if(name == 'email'){
//checks if email is a valid email address //checks if email is a valid email address
let regEx = /^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/; let regEx = /^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/;
if (!EmailValidator(value)) { if (!EmailValidator(value)) {
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: ["email"], errors: ['email']
}); })
}
} }
} }
};
const [requestState, setRequestState] = useState({ const [requestState, setRequestState] = useState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: ["email", "firstname", "lastname"], errors: ['email', 'firstname', 'lastname']
}); })
const addMember = () => { const addMember = () => {
// let errors = Object.keys(fields).filter((item) => { // CHECKS FOR EMPTY STRINGS // let errors = Object.keys(fields).filter((item) => { // CHECKS FOR EMPTY STRINGS
@@ -95,114 +91,103 @@ export default function MemberList({
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "Email is invalid", message: 'Email is invalid',
data: [], data: [],
errors: [], errors: []
}); })
return setTimeout(()=>{ return setTimeout(()=>{
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: [], errors: []
}); })
}, 3000); },3000)
} }
setRequestState({ setRequestState({
loading: true, loading: true,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: [], errors: []
}); })
const requestData = { const requestData = {
firstname: fields.firstname, firstname:fields.firstname,lastname:fields.lastname, email:fields.email, group_id: selectedGroup?.id, action:13015
lastname: fields.lastname, }
email: fields.email,
group_id: selectedGroup?.id,
action: apiConst.WRENCHBOARD_JOB_GROUP_MEMBER,
};
api api.groupMemberAdd(requestData).then(response => {
.groupMemberAdd(requestData) let {status, data} = response
.then((response) => {
let { status, data } = response;
if(status != 200 || data?.internal_return < 0){ if(status != 200 || data?.internal_return < 0){
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "Unable to add member", message: 'Unable to add member',
data: [], data: [],
errors: [], errors: []
}); })
return; return
} }
setRequestState({ setRequestState({
loading: false, loading: false,
status: true, status: true,
message: "Member added", message: 'Member added',
data: [], data: [],
errors: [], errors: []
}); })
setTimeout(()=>{ setTimeout(()=>{
// trigger group page reload // trigger group page reload
setUpdateList((prev) => !prev); setUpdateList(prev => !prev)
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: [], errors: []
});
}, 3000);
}) })
.catch((error) => { }, 3000)
}).catch(error=>{
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "Something went wrong, try again", message: 'Something went wrong, try again',
data: [], data: [],
errors: [], errors: []
});
}) })
.finally(() => { }).finally(()=>{
setTimeout(()=>{ setTimeout(()=>{
setRequestState({ setRequestState({
loading: false, loading: false,
status: false, status: false,
message: "", message: '',
data: [], data: [],
errors: [], errors: []
}); })
setFields({ setFields({
firstname: "", firstname: '',
lastname: "", lastname: '',
email: "", email: ''
}); })
}, 3000); }, 3000)
}); })
}; }
return ( return (
<> <>
<div className="p-5 w-full min-h-[600px] overflow-y-auto"> <div className='p-5 w-full min-h-[600px] overflow-y-auto'>
{groupList && groupList.length < 1 ? ( {groupList && groupList.length < 1 ?
<> <>
<h1 className="my-5 text-lg lg:text-xl tracking-wide text-slate-900 dark:text-slate-100"> <h1 className='my-5 text-lg lg:text-xl tracking-wide text-slate-900 dark:text-slate-100'>You Currently Do not have any Group, Please Add Group</h1>
You Currently Do not have any Group, Please Add Group
</h1>
</> </>
) : ( :
<> <>
<h1 className="mb-5 text-lg lg:text-2xl tracking-wide font-bold text-slate-900 dark:text-slate-100"> <h1 className='mb-5 text-lg lg:text-2xl tracking-wide font-bold text-slate-900 dark:text-slate-100'>{selectedGroup?.name}</h1>
{selectedGroup?.name} <div className='w-full flex flex-col-reverse lg:flex-col'>
</h1> <div className='py-3 w-full'>
<div className="w-full flex flex-col-reverse lg:flex-col"> <div className='relative grid grid-cols-1 sm:grid-cols-2 gap-2 place-content-center'>
<div className="py-3 w-full">
<div className="relative grid grid-cols-1 sm:grid-cols-2 gap-2 place-content-center">
<div className="input-item"> <div className="input-item">
<InputCom <InputCom
labelClass="tracking-wider" labelClass="tracking-wider"
@@ -242,54 +227,36 @@ export default function MemberList({
// iconName="message" // iconName="message"
/> />
</div> </div>
<div className="flex justify-end items-end"> <div className='flex justify-end items-end'>
{requestState.loading ? ( {requestState.loading ?
<LoadingSpinner size="8" color="sky-blue" /> <LoadingSpinner size='8' color='sky-blue' />
) : ( :
<button <button
onClick={addMember} onClick={addMember}
disabled={ disabled={requestState.loading || requestState.status || requestState.errors.length}
requestState.loading || className={`py-2 px-4 h-[42px] flex justify-center items-center text-base rounded-full text-white font-bold transition-all duration-500 ${requestState.loading || requestState.status || requestState.errors.length ? 'bg-sky-blue/50' : 'bg-sky-blue hover:bg-sky-600'} `}
requestState.status ||
requestState.errors.length
}
className={`py-2 px-4 h-[42px] flex justify-center items-center text-base rounded-full text-white font-bold transition-all duration-500 ${
requestState.loading ||
requestState.status ||
requestState.errors.length
? "bg-sky-blue/50"
: "bg-sky-blue hover:bg-sky-600"
} `}
> >
Add Member Add Member
</button> </button>
)} }
</div> </div>
{!requestState.loading && requestState.message && ( {!requestState.loading && requestState.message &&
<p <p className={`text-lg absolute -bottom-7 left-0 ${requestState.status ? 'text-green-500' : 'text-red-500'}`}>{requestState.message}</p>
className={`text-lg absolute -bottom-7 left-0 ${ }
requestState.status ? "text-green-500" : "text-red-500" </div>
}`} </div>
> <div className='my-2 flex flex-col min-h-[300px]'>
{requestState.message} {selectedGroup?.data?.length < 1 ?
</p> <h1 className='my-5 text-lg lg:text-xl tracking-wide text-slate-900 dark:text-slate-100'>No Member Found, Please Add</h1>
)} :
</div> <GroupMemberTable selectedList={selectedGroup?.data} />
</div> }
<div className="my-2 flex flex-col min-h-[300px]"> </div>
{selectedGroup?.data?.length < 1 ? ( </div>
<h1 className="my-5 text-lg lg:text-xl tracking-wide text-slate-900 dark:text-slate-100"> </>
No Member Found, Please Add }
</h1> </div>
) : ( </>
<GroupMemberTable selectedList={selectedGroup?.data} /> )
)}
</div>
</div>
</>
)}
</div>
</>
);
} }
@@ -4,7 +4,7 @@ import { useNavigate } from "react-router-dom";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { apiConst } from "../../lib/apiConst";
function DeleteTaskModal({ details, onClose, situation, setReloadList }) { function DeleteTaskModal({ details, onClose, situation, setReloadList }) {
let dispatch = useDispatch(); let dispatch = useDispatch();
@@ -19,50 +19,34 @@ function DeleteTaskModal({ details, onClose, situation, setReloadList }) {
// FUNCTION TO DELETE TASK // FUNCTION TO DELETE TASK
const deleteTask = () => { const deleteTask = () => {
setRequestStatus({ loading: true, status: false, message: "" }); setRequestStatus({loading:true, status:false, message: ''})
let reqData = { let reqData = { // REQUEST PAYLOAD
// REQUEST PAYLOAD
suggest_uid: details.uid, suggest_uid: details.uid,
suggest_action: apiConst.WRENCHBOARD_COMPLETE_SENDMONEY_INTERSW, suggest_action: 555,
offset: 0, offset: 0
};
ApiCall.suggestStatus(reqData)
.then((response) => {
// API CALL TO DELETE SUGGESTED TASK
let { data } = response;
if (data.internal_return < 0) {
setRequestStatus({
loading: false,
status: false,
message: "Unable to delete, Try again",
});
return setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 3000);
} }
setRequestStatus({ ApiCall.suggestStatus(reqData).then((response)=>{ // API CALL TO DELETE SUGGESTED TASK
loading: false, let {data} = response
status: true, if(data.internal_return < 0){
message: "Family Suggest Deleted", setRequestStatus({loading:false, status:false, message: 'Unable to delete, Try again'})
}); return setTimeout(()=>{
setReloadList((prev) => !prev); // RELOADS THE FAMILY SUGGEST LIST TABLE setRequestStatus({loading:false, status:false, message: ''})
},3000)
}
setRequestStatus({loading:false, status:true, message: 'Family Suggest Deleted'})
setReloadList(prev => !prev) // RELOADS THE FAMILY SUGGEST LIST TABLE
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message: ''})
onClose(); onClose()
}, 3000); },3000)
}).catch(error => {
setRequestStatus({loading:false, status:false, message: 'Unable to delete, Try again'})
setTimeout(()=>{
setRequestStatus({loading:false, status:false, message: ''})
},3000)
}) })
.catch((error) => { }
setRequestStatus({
loading: false,
status: false,
message: "Unable to delete, Try again",
});
setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 3000);
});
};
return ( return (
<ModalCom action={onClose} situation={situation}> <ModalCom action={onClose} situation={situation}>
@@ -4,7 +4,7 @@ import { useNavigate } from "react-router-dom";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import { useDispatch } from "react-redux"; import { useDispatch } from "react-redux";
import { apiConst } from "../../lib/apiConst";
function SendReminderModal({ details, onClose, situation, setReloadList }) { function SendReminderModal({ details, onClose, situation, setReloadList }) {
let dispatch = useDispatch(); let dispatch = useDispatch();
@@ -19,50 +19,34 @@ function SendReminderModal({ details, onClose, situation, setReloadList }) {
// FUNCTION TO SEND REMINDER // FUNCTION TO SEND REMINDER
const sendReminder = () => { const sendReminder = () => {
setRequestStatus({ loading: true, status: false, message: "" }); setRequestStatus({loading:true, status:false, message: ''})
let reqData = { let reqData = { // REQUEST PAYLOAD
// REQUEST PAYLOAD
suggest_uid: details.uid, suggest_uid: details.uid,
suggest_action: apiConst.OFFER_CANCEL, suggest_action: 222,
offset: 0, offset: 0
};
ApiCall.suggestStatus(reqData)
.then((response) => {
// API CALL TO DELETE SUGGESTED TASK
let { data } = response;
if (data.internal_return < 0) {
setRequestStatus({
loading: false,
status: false,
message: "Unable to send reminder, Try again1111",
});
return setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 3000);
} }
setRequestStatus({ ApiCall.suggestStatus(reqData).then((response)=>{ // API CALL TO DELETE SUGGESTED TASK
loading: false, let {data} = response
status: true, if(data.internal_return < 0){
message: "Reminder Sent", setRequestStatus({loading:false, status:false, message: 'Unable to send reminder, Try again1111'})
}); return setTimeout(()=>{
setReloadList((prev) => !prev); // RELOADS THE FAMILY SUGGEST LIST TABLE setRequestStatus({loading:false, status:false, message: ''})
},3000)
}
setRequestStatus({loading:false, status:true, message: 'Reminder Sent'})
setReloadList(prev => !prev) // RELOADS THE FAMILY SUGGEST LIST TABLE
setTimeout(()=>{ setTimeout(()=>{
setRequestStatus({ loading: false, status: false, message: "" }); setRequestStatus({loading:false, status:false, message: ''})
onClose(); onClose()
}, 3000); },3000)
}).catch(error => {
setRequestStatus({loading:false, status:false, message: 'Unable to send reminder, Try againNETWORK'})
setTimeout(()=>{
setRequestStatus({loading:false, status:false, message: ''})
},3000)
}) })
.catch((error) => { }
setRequestStatus({
loading: false,
status: false,
message: "Unable to send reminder, Try againNETWORK",
});
setTimeout(() => {
setRequestStatus({ loading: false, status: false, message: "" });
}, 3000);
});
};
return ( return (
<ModalCom action={onClose} situation={situation}> <ModalCom action={onClose} situation={situation}>
@@ -98,15 +82,10 @@ function SendReminderModal({ details, onClose, situation, setReloadList }) {
</button> </button>
</div> </div>
<div className="logout-modal-body w-full flex flex-col items-center p-8"> <div className="logout-modal-body w-full flex flex-col items-center p-8">
<div className="mb-6 w-full flex gap-4 items-center"> <div className="mb-6 w-full flex gap-4 items-center">
<div className="icon max-w-[150px] min-w-[150px] max-h-[150px] min-h-[150px] flex justify-center items-center"> <div className="icon max-w-[150px] min-w-[150px] max-h-[150px] min-h-[150px] flex justify-center items-center">
<img <img src={require(`../../assets/images/family/${details.banner || "default.jpg"}`)} alt="" className="w-full h-full" />
src={require(`../../assets/images/family/${
details.banner || "default.jpg"
}`)}
alt=""
className="w-full h-full"
/>
</div> </div>
<div className="w-full"> <div className="w-full">
<p className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1"> <p className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1">
@@ -116,12 +95,12 @@ function SendReminderModal({ details, onClose, situation, setReloadList }) {
<p className="text-sm mb-2 text-thin-light-gray font-medium"> <p className="text-sm mb-2 text-thin-light-gray font-medium">
{details.description} {details.description}
</p> </p>
{details.remind && ( {
details.remind &&
<p className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1"> <p className="text-xl font-bold text-dark-gray dark:text-white mb-2 capitalize line-clamp-1">
Last Remind:{" "} Last Remind: {new Date(details.remind).toLocaleString().split(',')[0]}
{new Date(details.remind).toLocaleString().split(",")[0]}
</p> </p>
)} }
</div> </div>
</div> </div>
+3 -3
View File
@@ -190,16 +190,16 @@ export default function MobileSidebar({
<div className="items"> <div className="items">
<ul className="flex flex-col space-y-6"> <ul className="flex flex-col space-y-6">
{[ {[
{ name: "List", path: "/myjobs", iconName: "people-two" }, { name: "List", path: "/myjobs", iconName: "job-list" },
{ {
name: "Pending", name: "Pending",
path: "/my-pending-jobs", path: "/my-pending-jobs",
iconName: "people-two", iconName: "pending-job",
}, },
{ {
name: "Active", name: "Active",
path: "/my-active-jobs", path: "/my-active-jobs",
iconName: "people-two", iconName: "active-job",
}, },
].map(({ name, path, iconName }, idx) => ( ].map(({ name, path, iconName }, idx) => (
<ListItem <ListItem
+10 -100
View File
@@ -2,6 +2,7 @@ import React, { useState } from "react";
import { useSelector } from "react-redux"; import { useSelector } from "react-redux";
import { NavLink } from "react-router-dom"; import { NavLink } from "react-router-dom";
//import SideStatistics from "./SideStatistics"; //import SideStatistics from "./SideStatistics";
import { localImgLoad } from "../../lib";
export default function RightSideBar({myJobList}) { export default function RightSideBar({myJobList}) {
const filterDatas = ["Last 15 days", "Last Month", "Last 6 month"]; const filterDatas = ["Last 15 days", "Last Month", "Last 6 month"];
@@ -169,24 +170,8 @@ export default function RightSideBar({myJobList}) {
<div className="platform-list"> <div className="platform-list">
<div className="px-8 item flex space-x-3 items-center mb-4"> <div className="px-8 item flex space-x-3 items-center mb-4">
{/* image */} {/* image */}
<div className="w-8 h-8 rounded-full"> <div className="w-8 h-8 p-[4px] rounded-full">
<svg <img src={localImgLoad('images/icons/job_active.svg')} className="w-full h-full" alt='Active Task' />
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
id="history"
>
<g data-name="14">
<circle cx="9" cy="14" r="7" fill="#ffd54f"></circle>
<path
fill="#ef6c00"
d="M21 9H17a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zM21 5H3A1 1 0 0 1 3 3H21a1 1 0 0 1 0 2zM21 13H19a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2zM21 17H19a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2zM21 21H17a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2z"
></path>
<path
fill="#ff8f00"
d="M10,10a1,1,0,0,0-2,0v3.59L6.29,15.29a1,1,0,1,0,1.41,1.41l2-2A1,1,0,0,0,10,14Z"
></path>
</g>
</svg>
</div> </div>
{/* name */} {/* name */}
<div> <div>
@@ -196,36 +181,11 @@ export default function RightSideBar({myJobList}) {
</div> </div>
{/* action */} {/* action */}
</div> </div>
{/* {userDetails && userDetails?.account_type !== "FAMILY" && (
<>
</>
)} */}
<div className="px-8 item flex space-x-3 items-center mb-4"> <div className="px-8 item flex space-x-3 items-center mb-4">
{/* image */} {/* image */}
<div className="w-8 h-8 rounded-full"> <div className="w-8 h-8 p-[4px] rounded-full">
<svg <img src={localImgLoad('images/icons/job_pending.svg')} className="w-full h-full" alt='Review Task' />
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
id="add-user"
>
<path
fill="#9bcb5b"
d="M12 13.4c-2 0-3.7-1.6-3.7-3.6s1.6-3.7 3.6-3.7 3.7 1.6 3.7 3.6-1.6 3.6-3.6 3.7zm0-6.2c-1.4 0-2.6 1.1-2.6 2.6 0 1.4 1.1 2.6 2.6 2.6s2.6-1.1 2.6-2.6c-.1-1.5-1.2-2.6-2.6-2.6z"
></path>
<path
fill="#9bcb5b"
d="M16.6 17.9c-.3 0-.5-.2-.6-.5 0-2.2-1.8-4-4-4s-4 1.8-4 4c0 .3-.3.5-.6.5-.2 0-.4-.2-.5-.5 0-2.8 2.3-5.1 5.1-5.1s5.1 2.3 5.1 5.1c0 .3-.2.5-.5.5z"
></path>
<path
fill="#0376bc"
d="M12 23.7C5.5 23.7.3 18.4.3 12 .3 5.5 5.6.3 12 .3c2.6 0 5.1.9 7.2 2.5.2.2.2.6 0 .8-.2.2-.4.2-.7.1-1.9-1.4-4.1-2.2-6.5-2.2C6.2 1.4 1.4 6.2 1.4 12S6.2 22.6 12 22.6 22.6 17.8 22.6 12c0-2.4-.8-4.6-2.2-6.5-.2-.3-.1-.6.2-.8.2-.1.5-.1.7.1 1.6 2 2.5 4.6 2.4 7.2 0 6.4-5.3 11.7-11.7 11.7z"
></path>
<circle cx="20.2" cy="20.3" r="2.4" fill="#fff"></circle>
<path
fill="#9bcb5b"
d="M18 18.1c.6-.6 1.4-.9 2.2-.9.8 0 1.6.3 2.2.9s1 1.4.9 2.2c0 .8-.3 1.6-.9 2.2s-1.4 1-2.2.9c-.8 0-1.6-.3-2.2-.9s-1-1.4-.9-2.2c-.1-.8.3-1.7.9-2.2zm3.8 2.5V20h-1.3v-1.3h-.6V20h-1.3v.6h1.3v1.3h.6v-1.3h1.3z"
></path>
</svg>
</div> </div>
{/* name */} {/* name */}
<div> <div>
@@ -237,33 +197,8 @@ export default function RightSideBar({myJobList}) {
<div className="px-8 item flex space-x-3 items-center mb-4"> <div className="px-8 item flex space-x-3 items-center mb-4">
{/* image */} {/* image */}
<div className="w-8 h-8 rounded-full"> <div className="w-8 h-8 p-[4px] rounded-full">
<svg <img src={localImgLoad('images/icons/job_past_due.svg')} className="w-full h-full" alt='Past Due Task' />
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 48 48"
id="InternationalUser"
>
<path
fill="#e6e7f9"
d="M38.5 31.1c2.1-1.1 3.9-2.5 5.4-4.4h-3.2c-.6 1.6-1.3 3.1-2.2 4.4zm-5.8 1.4c2-.7 3.7-2.8 4.9-5.8h-4.9v5.8zm8.8-8.6h4.2c.9-1.8 1.5-3.7 1.7-5.8h-5.1c-.1 2-.4 4-.8 5.8zm2.4-17.3c-1.5-1.8-3.3-3.3-5.4-4.4.8 1.2 1.6 2.7 2.2 4.4h3.2zm-5.3 2.9h-5.9v5.8h6.7c-.1-2.1-.4-4.1-.8-5.8zm3.7 5.8h5.1c-.2-2.1-.8-4-1.7-5.8h-4.2c.4 1.8.7 3.7.8 5.8zM32.7.8v5.8h4.9c-1.2-2.9-2.9-5.1-4.9-5.8zm6.7 17.3h-6.7v5.8h5.9c.4-1.8.7-3.8.8-5.8zM25 6.6h4.9V.8c-2 .7-3.7 2.9-4.9 5.8zm-1.8 8.7h6.7V9.5H24c-.4 1.7-.7 3.7-.8 5.8zm6.7 17.2v-5.8H25c1.2 3 2.9 5.1 4.9 5.8zM24.1 2.3c-2.1 1.1-3.9 2.5-5.4 4.4H22c.5-1.7 1.3-3.2 2.1-4.4zM24 23.9h5.9v-5.8h-6.7c.1 2 .4 4 .8 5.8z"
className="colorc1e5ff svgShape"
></path>
<path
fill="#ff6699"
d="M3.7 44.7c0 1.6 1.2 2.8 2.8 2.8 1.3 0 2.4-.9 2.7-2.2.3 1.3 1.4 2.2 2.7 2.2 1.5 0 2.8-1.3 2.8-2.8V30.1h3.1V18.8c0-4.2-3.3-7.5-7.4-7.5H8c-4.1 0-7.4 3.4-7.4 7.5v11.3h3.1v14.6z"
className="colorff99b0 svgShape"
></path>
<path
fill="#998da0"
d="M9.2 10.3c2.4 0 4.4-2.2 4.4-4.9S11.6.5 9.2.5C6.8.5 4.8 2.7 4.8 5.4s2 4.9 4.4 4.9z"
className="colorffd499 svgShape"
></path>
<path
fill="#e6e7f9"
d="M16.9 9.5c-.3.6-.5 1.2-.8 1.8 1.3 1 2.3 2.4 2.9 4h1.3c.1-2 .3-4 .8-5.8h-4.2zm2.9 9.3v5.1h1.4c-.4-1.8-.7-3.8-.8-5.8h-.6c-.1.2 0 .4 0 .7zm2.2 7.9h-2.2v1.2c1.3 1.3 2.7 2.4 4.4 3.2-.9-1.3-1.7-2.8-2.2-4.4z"
className="colorc1e5ff svgShape"
></path>
</svg>
</div> </div>
{/* name */} {/* name */}
<div> <div>
@@ -278,33 +213,8 @@ export default function RightSideBar({myJobList}) {
<div className="px-8 item flex space-x-3 items-center mb-4"> <div className="px-8 item flex space-x-3 items-center mb-4">
{/* image */} {/* image */}
<div className="w-8 h-8 rounded-full"> <div className="w-8 h-8 p-[4px] rounded-full">
<svg <img src={localImgLoad('images/icons/job_group.svg')} className="w-full h-full" alt='Job Groups' />
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 48 48"
id="InternationalUser"
>
<path
fill="#e6e7f9"
d="M38.5 31.1c2.1-1.1 3.9-2.5 5.4-4.4h-3.2c-.6 1.6-1.3 3.1-2.2 4.4zm-5.8 1.4c2-.7 3.7-2.8 4.9-5.8h-4.9v5.8zm8.8-8.6h4.2c.9-1.8 1.5-3.7 1.7-5.8h-5.1c-.1 2-.4 4-.8 5.8zm2.4-17.3c-1.5-1.8-3.3-3.3-5.4-4.4.8 1.2 1.6 2.7 2.2 4.4h3.2zm-5.3 2.9h-5.9v5.8h6.7c-.1-2.1-.4-4.1-.8-5.8zm3.7 5.8h5.1c-.2-2.1-.8-4-1.7-5.8h-4.2c.4 1.8.7 3.7.8 5.8zM32.7.8v5.8h4.9c-1.2-2.9-2.9-5.1-4.9-5.8zm6.7 17.3h-6.7v5.8h5.9c.4-1.8.7-3.8.8-5.8zM25 6.6h4.9V.8c-2 .7-3.7 2.9-4.9 5.8zm-1.8 8.7h6.7V9.5H24c-.4 1.7-.7 3.7-.8 5.8zm6.7 17.2v-5.8H25c1.2 3 2.9 5.1 4.9 5.8zM24.1 2.3c-2.1 1.1-3.9 2.5-5.4 4.4H22c.5-1.7 1.3-3.2 2.1-4.4zM24 23.9h5.9v-5.8h-6.7c.1 2 .4 4 .8 5.8z"
className="colorc1e5ff svgShape"
></path>
<path
fill="#ff6699"
d="M3.7 44.7c0 1.6 1.2 2.8 2.8 2.8 1.3 0 2.4-.9 2.7-2.2.3 1.3 1.4 2.2 2.7 2.2 1.5 0 2.8-1.3 2.8-2.8V30.1h3.1V18.8c0-4.2-3.3-7.5-7.4-7.5H8c-4.1 0-7.4 3.4-7.4 7.5v11.3h3.1v14.6z"
className="colorff99b0 svgShape"
></path>
<path
fill="#998da0"
d="M9.2 10.3c2.4 0 4.4-2.2 4.4-4.9S11.6.5 9.2.5C6.8.5 4.8 2.7 4.8 5.4s2 4.9 4.4 4.9z"
className="colorffd499 svgShape"
></path>
<path
fill="#e6e7f9"
d="M16.9 9.5c-.3.6-.5 1.2-.8 1.8 1.3 1 2.3 2.4 2.9 4h1.3c.1-2 .3-4 .8-5.8h-4.2zm2.9 9.3v5.1h1.4c-.4-1.8-.7-3.8-.8-5.8h-.6c-.1.2 0 .4 0 .7zm2.2 7.9h-2.2v1.2c1.3 1.3 2.7 2.4 4.4 3.2-.9-1.3-1.7-2.8-2.2-4.4z"
className="colorc1e5ff svgShape"
></path>
</svg>
</div> </div>
{/* name */} {/* name */}
<div> <div>
+3 -3
View File
@@ -215,17 +215,17 @@ export default function Sidebar({
{ {
name: "List", name: "List",
path: "/myjobs", path: "/myjobs",
iconName: "people-two", iconName: "job-list",
}, },
{ {
name: "Pending", name: "Pending",
path: "/my-pending-jobs", path: "/my-pending-jobs",
iconName: "people-two", iconName: "pending-job",
}, },
{ {
name: "Active", name: "Active",
path: "/my-active-jobs", path: "/my-active-jobs",
iconName: "people-two", iconName: "active-job",
}, },
].map(({ name, path, iconName }, idx) => ( ].map(({ name, path, iconName }, idx) => (
<ListItem <ListItem
@@ -11,7 +11,6 @@ import profileImage from "../../../assets/images/profile.jpg";
import { Form, Formik } from "formik"; import { Form, Formik } from "formik";
import * as Yup from "yup"; import * as Yup from "yup";
import { apiConst } from "../../../lib/apiConst";
const validationSchema = Yup.object().shape({ const validationSchema = Yup.object().shape({
email: Yup.string() email: Yup.string()
@@ -148,7 +147,7 @@ export default function PersonalInfoTab({
file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(), file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(),
file_data: base64Img, file_data: base64Img,
msg_type: "FILE", msg_type: "FILE",
action: apiConst.WRENCHBOARD_PICTURE_PROFILE, action: 11300,
}; };
setUploadStatus({ setUploadStatus({
+1 -2
View File
@@ -8,7 +8,6 @@ import ProductUploadField from "./ProductUploadField";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import usersService from "../../services/UsersService"; import usersService from "../../services/UsersService";
import { useNavigate } from "react-router-dom"; import { useNavigate } from "react-router-dom";
import { apiConst } from "../../lib/apiConst";
export default function UploadProduct({uploadTypes}) { export default function UploadProduct({uploadTypes}) {
const apiCall = new usersService() const apiCall = new usersService()
@@ -153,7 +152,7 @@ export default function UploadProduct({uploadTypes}) {
title: itemName, title: itemName,
description: description, description: description,
msg_type: 'FILE', msg_type: 'FILE',
action: apiConst.WRENCHBOARD_RESOURCE_MYFILES action: 11307
} }
if(!isValidFile(imgDetails, uploadTypes?.data)){ // FUNCTION TO CHECK IF FILE TYPE IS VALID if(!isValidFile(imgDetails, uploadTypes?.data)){ // FUNCTION TO CHECK IF FILE TYPE IS VALID
+1 -2
View File
@@ -8,7 +8,6 @@ import { tableReload } from "../../store/TableReloads";
import InputCom from "../Helpers/Inputs/InputCom"; import InputCom from "../Helpers/Inputs/InputCom";
import ModalCom from "../Helpers/ModalCom"; import ModalCom from "../Helpers/ModalCom";
import LoadingSpinner from "../Spinners/LoadingSpinner"; import LoadingSpinner from "../Spinners/LoadingSpinner";
import { apiConst } from "../../lib/apiConst";
const validationSchema = Yup.object().shape({ const validationSchema = Yup.object().shape({
country: Yup.string() country: Yup.string()
@@ -163,7 +162,7 @@ const EditJobPopOut = ({
file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(), file_type: uploadedFile?.type?.split("/")[0]?.toLowerCase(),
file_data: base64Img, file_data: base64Img,
msg_type: "FILE", msg_type: "FILE",
action: apiConst.WRENCHBOARD_PICTURE_JOB, action: 11303,
}; };
setUploadStatus({ setUploadStatus({
loading: true, loading: true,
+11 -1
View File
@@ -48,7 +48,13 @@ const [requestStatus, setRequestStatus] = useState({message:'', status:false})
const memberList = useCallback(async () => { const memberList = useCallback(async () => {
setLoader({ member: true, jobFields: false }); setLoader({ member: true, jobFields: false });
try { try {
let res = await apiCall.familyListings(); let reqData = {
limit: 20,
offset: 0,
action: 22010,
};
let res = await apiCall.familyListings(reqData);
const { data } = res; const { data } = res;
if (data?.internal_return >= 0 && data?.status == "OK") { if (data?.internal_return >= 0 && data?.status == "OK") {
let { result_list } = data; let { result_list } = data;
@@ -124,6 +130,7 @@ const [requestStatus, setRequestStatus] = useState({message:'', status:false})
reqData = { reqData = {
...jobReq, ...jobReq,
family_uid: values?.family, family_uid: values?.family,
action: 13025,
assign_mode: 110011, assign_mode: 110011,
}; };
setLoader({ jobFields: { family: true } }); setLoader({ jobFields: { family: true } });
@@ -132,6 +139,7 @@ const [requestStatus, setRequestStatus] = useState({message:'', status:false})
reqData = { reqData = {
...jobReq, ...jobReq,
duration: Number(values?.public), duration: Number(values?.public),
action: 13025,
assign_mode: 110022, assign_mode: 110022,
}; };
setLoader({ jobFields: { public: true } }); setLoader({ jobFields: { public: true } });
@@ -140,6 +148,7 @@ const [requestStatus, setRequestStatus] = useState({message:'', status:false})
reqData = { reqData = {
...jobReq, ...jobReq,
email: values?.individual, email: values?.individual,
action: 13025,
assign_mode: 110033, assign_mode: 110033,
}; };
setLoader({ jobFields: { individual: true } }); setLoader({ jobFields: { individual: true } });
@@ -149,6 +158,7 @@ const [requestStatus, setRequestStatus] = useState({message:'', status:false})
...jobReq, ...jobReq,
email: '', email: '',
group_id: values?.group, group_id: values?.group,
action: 13025,
assign_mode: 110044, assign_mode: 110044,
duration: details?.timeline_days, duration: details?.timeline_days,
// duration: 0, // duration: 0,
+2 -2
View File
@@ -122,8 +122,8 @@ export const apiConst = {
WRENCHBOARD_ACCOUNT_PRICE_COMBO: 11171, WRENCHBOARD_ACCOUNT_PRICE_COMBO: 11171,
WRENCHBOARD_ACCOUNT_JOBPOST_DURATION: 11173, WRENCHBOARD_ACCOUNT_JOBPOST_DURATION: 11173,
WRENCHBOARD_ACCOUNT_USER_RECIPIENT: 11175, WRENCHBOARD_ACCOUNT_USER_RECIPEINT: 11175,
WRENCHBOARD_ACCOUNT_ADD_RECIPIENT: 11176, WRENCHBOARD_ACCOUNT_ADD_RECIPEINT: 11176,
WRENCHBOARD_ACCOUNT_ACCOUNT_TYPES: 11177, WRENCHBOARD_ACCOUNT_ACCOUNT_TYPES: 11177,
WRENCHBOARD_ACCOUNT_COUNTRY_COMBO: 11179, WRENCHBOARD_ACCOUNT_COUNTRY_COMBO: 11179,
WRENCHBOARD_ACCOUNT_JOB_COUNTRY: 11181, WRENCHBOARD_ACCOUNT_JOB_COUNTRY: 11181,
+1 -2
View File
@@ -1,5 +1,4 @@
import Axios from "axios"; import Axios from "axios";
import { apiConst } from "../lib/apiConst";
class SiteService { class SiteService {
constructor() { constructor() {
@@ -33,7 +32,7 @@ class SiteService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_FAMILY_ADD, action: 22015,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/familyadd", postData); return this.postAuxEnd("/familyadd", postData);
+66 -91
View File
@@ -1,5 +1,4 @@
import Axios from "axios"; import Axios from "axios";
import { apiConst } from "../lib/apiConst";
class usersService { class usersService {
constructor() { constructor() {
@@ -11,7 +10,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
...reqData, ...reqData
}; };
return this.postAuxEnd("/mypageintro", postData); return this.postAuxEnd("/mypageintro", postData);
} }
@@ -21,7 +20,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_MYPAGE, action: 11070
}; };
return this.postAuxEnd("/mypageload", postData); return this.postAuxEnd("/mypageload", postData);
} }
@@ -35,15 +34,8 @@ class usersService {
localStorage.setItem("session_token", ``); localStorage.setItem("session_token", ``);
return this.postAuxEnd("/authlogin", reqData); return this.postAuxEnd("/authlogin", reqData);
} }
CompleteSignUp(postData) { CompleteSignUp(reqData) {
localStorage.setItem("session_token", ``); localStorage.setItem("session_token", ``);
var reqData = {
login_mode: 100,
sessionid: "STARTER-NOTREAL",
action: apiConst.WRENCHBOARD_COMPLETE_MOBILEUSER,
...postData,
};
return this.postAuxEnd("/completesignuplink", reqData); return this.postAuxEnd("/completesignuplink", reqData);
} }
@@ -52,7 +44,6 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_OFFER_SYSTEM,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/assigntask", postData); return this.postAuxEnd("/assigntask", postData);
@@ -74,18 +65,13 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_RECENTS, action: 11202,
}; };
return this.postAuxEnd("/recentactivities", postData); return this.postAuxEnd("/recentactivities", postData);
} }
logInUser(postData) { logInUser(reqData) {
localStorage.setItem("session_token", ``); localStorage.setItem("session_token", ``);
var reqData = {
action: apiConst.WRENCHBOARD_ACCOUNT_LOGIN,
...postData,
};
return this.postAuxEnd("/userlogin", reqData); return this.postAuxEnd("/userlogin", reqData);
} }
@@ -147,7 +133,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 1, page: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_MYFILES_LIST, action: 11309,
}; };
return this.postAuxEnd("/myfiles", postData); return this.postAuxEnd("/myfiles", postData);
} }
@@ -264,7 +250,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 1, page: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_ACCOUNT_USER_RECIPIENT, action: 11175,
}; };
return this.postAuxEnd("/recipients", postData); return this.postAuxEnd("/recipients", postData);
} }
@@ -287,7 +273,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
amount, amount,
action: apiConst.WRENCHBOARD_SMONEY_PROCFEE, action: 33025,
}; };
return this.postAuxEnd("/sendmoneyfee", postData); return this.postAuxEnd("/sendmoneyfee", postData);
} }
@@ -298,7 +284,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_STARTCREDIT, action: 11053,
...value, ...value,
}; };
return this.postAuxEnd("/startcredit", postData); return this.postAuxEnd("/startcredit", postData);
@@ -310,7 +296,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_USESAVEDCC, action: 11056,
...value, ...value,
}; };
return this.postAuxEnd("/payprevcard", postData); return this.postAuxEnd("/payprevcard", postData);
@@ -322,7 +308,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_ADNEWCC, action: 11054,
...value, ...value,
}; };
return this.postAuxEnd("/paynewcard", postData); return this.postAuxEnd("/paynewcard", postData);
@@ -335,7 +321,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 30, limit: 30,
offset: 0, offset: 0,
action: apiConst.WRENCHBOARD_FAMILY_SAMPLETASKS, action: 22027,
}; };
return this.postAuxEnd("/familysampletasks", postData); return this.postAuxEnd("/familysampletasks", postData);
} }
@@ -345,7 +331,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_CREATEJOB, action: 13010,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/familysuggesttasks", postData); return this.postAuxEnd("/familysuggesttasks", postData);
@@ -357,7 +343,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_FAMILY_MANAGE, action: 22025,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/familymanage", postData); return this.postAuxEnd("/familymanage", postData);
@@ -372,7 +358,7 @@ class usersService {
job_mode: "ACTIVE", job_mode: "ACTIVE",
limit: 30, limit: 30,
offset: 0, offset: 0,
action: apiConst.WRENCHBOARD_JOB_ACTIVE, action: 13008,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/jobmanageractive", postData); return this.postAuxEnd("/jobmanageractive", postData);
@@ -384,7 +370,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_CREATEJOB, action: 13010,
limit: 30, limit: 30,
offset: 0, offset: 0,
}; };
@@ -485,7 +471,7 @@ class usersService {
uuid: localStorage.getItem("uid"), uuid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_FAMILY_LIST, action: 22010,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/askresources", postData); return this.postAuxEnd("/askresources", postData);
@@ -523,7 +509,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 1, page: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_COUPON_MEMLIST, action: 85025,
}; };
return this.postAuxEnd("/couponhx", postData); return this.postAuxEnd("/couponhx", postData);
} }
@@ -535,7 +521,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 1, page: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_MOBILE_PURCHASEHX, action: 15049,
}; };
return this.postAuxEnd("/purchasehx", postData); return this.postAuxEnd("/purchasehx", postData);
} }
@@ -548,7 +534,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
offset: 1, offset: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_FAMILY_TRANSFERHX, action: 22011,
}; };
return this.postAuxEnd("/familyrewardhx", postData); return this.postAuxEnd("/familyrewardhx", postData);
} }
@@ -561,7 +547,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 1, page: 1,
limit: 20, limit: 20,
action: apiConst.WRENCHBOARD_MOBILE_PAYMENTHX, action: 15046,
}; };
return this.postAuxEnd("/paymenthx", postData); return this.postAuxEnd("/paymenthx", postData);
} }
@@ -572,7 +558,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_SMONEY_MEMBER, action: 33020,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/sendmoney", postData); return this.postAuxEnd("/sendmoney", postData);
@@ -586,7 +572,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
offset: 1, offset: 1,
limit: 100, limit: 100,
action: apiConst.WRENCHBOARD_ACCOUNT_REFFERHX, action: 11064,
}; };
return this.postAuxEnd("/refferhx", postData); return this.postAuxEnd("/refferhx", postData);
} }
@@ -597,7 +583,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_MOBILE_UPDATEPROFILE, action: 5031,
...post, ...post,
}; };
return this.postAuxEnd("/updateprofile", postData); return this.postAuxEnd("/updateprofile", postData);
@@ -642,7 +628,6 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
page: 0, page: 0,
limit: 100, limit: 100,
action: apiConst.WRENCHBOARD_FAMILY_UPDATE,
...reqdata, ...reqdata,
}; };
return this.postAuxEnd("/familyupdate", postData); return this.postAuxEnd("/familyupdate", postData);
@@ -678,10 +663,10 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: Number(localStorage.getItem("member_id")), member_id: Number(localStorage.getItem("member_id")),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_TOPUP_RESULT, action: 11061,
...post, ...post,
}; };
// console.log("topupresult", postData); console.log("topupresult", postData);
return this.postAuxEnd("/topupresult", postData); return this.postAuxEnd("/topupresult", postData);
} }
@@ -691,26 +676,17 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_SENDREFER, action: 11032,
...postData, ...postData,
}; };
return this.postAuxEnd("/sendreferral", reqData); return this.postAuxEnd("/sendreferral", reqData);
} }
StartResetPassword(postData) { StartResetPassword(reqData) {
var reqData = {
action: apiConst.WRENCHBOARD_RESET_PASSWORD,
...postData,
};
return this.postAuxEnd("/startresetpasword", reqData); return this.postAuxEnd("/startresetpasword", reqData);
} }
CompleteResetPassword(postData) { CompleteResetPassword(reqData) {
var reqData = {
sessionid: "DUMMY-CANNOT_BE_EMPTY",
action: apiConst.WRENCHBOARD_COMPLETE_PASSWORDRESET,
...postData,
};
return this.postAuxEnd("/stepresetpass", reqData); return this.postAuxEnd("/stepresetpass", reqData);
} }
@@ -719,7 +695,7 @@ class usersService {
uuid: localStorage.getItem("uid"), uuid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_COUPON_REDEEM, action: 85020,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/couponredeem", postData); return this.postAuxEnd("/couponredeem", postData);
@@ -736,7 +712,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_COUNTRY_BANKS, action: 11183,
...value, ...value,
}; };
return this.postAuxEnd("/countrybanks", postData); return this.postAuxEnd("/countrybanks", postData);
@@ -748,7 +724,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_ACCOUNT_ACCOUNT_TYPES, action: 11177,
}; };
return this.postAuxEnd("/accounttypes", postData); return this.postAuxEnd("/accounttypes", postData);
} }
@@ -760,7 +736,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
msg_type: "JOB", msg_type: "JOB",
action: apiConst.WRENCHBOARD_JOB_SEND_INTEREST, action: 13033,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/marketinterest", postData); return this.postAuxEnd("/marketinterest", postData);
@@ -772,7 +748,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
msg_type: "JOB", msg_type: "JOB",
action: apiConst.WRENCHBOARD_JOB_SEND_QUESTION, action: 13036,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/marketmessage", postData); return this.postAuxEnd("/marketmessage", postData);
@@ -784,7 +760,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_POSTAGREE, action: 13002,
}; };
return this.postAuxEnd("/jobmanageragree", postData); return this.postAuxEnd("/jobmanageragree", postData);
} }
@@ -795,7 +771,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_CREATEJOB, action: 13010,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/jobmanagercreatejob", postData); return this.postAuxEnd("/jobmanagercreatejob", postData);
@@ -806,7 +782,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_CREATEJOB, action: 13010,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/jobmanagerupdatejob", postData); return this.postAuxEnd("/jobmanagerupdatejob", postData);
@@ -818,7 +794,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
extend_days: 7, extend_days: 7,
action: apiConst.WRENCHBOARD_JOB_EXTEND_EXPIRE, action: 13041,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/pendingjobextend", postData); return this.postAuxEnd("/pendingjobextend", postData);
@@ -830,7 +806,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
mode: 200, mode: 200,
action: apiConst.WRENCHBOARD_JOB_RESEND_MESSAGE, action: 13042,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/pendingjobsendtome", postData); return this.postAuxEnd("/pendingjobsendtome", postData);
@@ -841,7 +817,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_CANCEL_OFFER, action: 13043,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/pendingjobcancel", postData); return this.postAuxEnd("/pendingjobcancel", postData);
@@ -854,7 +830,7 @@ class usersService {
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 30, limit: 30,
action: apiConst.WRENCHBOARD_CONTRACT_MSGLIST, action: 14011,
offset: 0, offset: 0,
...reqData, ...reqData,
}; };
@@ -867,7 +843,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_CONTRACT_MESSAGE, action: 14010,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/sendtaskmessage", postData); return this.postAuxEnd("/sendtaskmessage", postData);
@@ -879,7 +855,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_CONTRACT_MESSAGE, action: 14010,
...reqData, ...reqData,
}; };
@@ -897,7 +873,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_DELETEJOB, action: 13011,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/jobmanagerdeletejob", postData); return this.postAuxEnd("/jobmanagerdeletejob", postData);
@@ -906,7 +882,7 @@ class usersService {
verifyEmail(code) { verifyEmail(code) {
const reqData = { const reqData = {
verify_link: code, verify_link: code,
action: apiConst.WRENCHBOARD_VERIFY_PENDING_LINK, action: 11015,
}; };
return this.postAuxEnd("/verifysignuplink", reqData); return this.postAuxEnd("/verifysignuplink", reqData);
} }
@@ -917,7 +893,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_MOBILE_OFFERSRESP, action: 15012,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/offersresponse", postData); return this.postAuxEnd("/offersresponse", postData);
@@ -929,7 +905,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_OFFER_INTLIST, action: 13024,
limit: 30, limit: 30,
offset: 0, offset: 0,
}; };
@@ -942,7 +918,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_OFFER_INTLIST, action: 13034,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/offersinterestproc", postData); return this.postAuxEnd("/offersinterestproc", postData);
@@ -954,7 +930,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_CONTRACT_STATUS, action: 14015,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/activetaskstatus", postData); return this.postAuxEnd("/activetaskstatus", postData);
@@ -966,7 +942,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_CONTRACT_STATUS, action: 14015,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/activejobstatus", postData); return this.postAuxEnd("/activejobstatus", postData);
@@ -987,7 +963,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 30, limit: 30,
offset: 0, offset: 0,
action: apiConst.WRENCHBOARD_ACCOUNT_NOTIFICATIONS, action: 11205,
}; };
return this.postAuxEnd("/mynotifications", postData); return this.postAuxEnd("/mynotifications", postData);
} }
@@ -998,7 +974,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_CARDLIST, action: 11055,
}; };
return this.postAuxEnd("/paylistcard", postData); return this.postAuxEnd("/paylistcard", postData);
} }
@@ -1009,7 +985,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_MRKTINT_QUEST, action: 13037,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/offerinterestmsg", postData); return this.postAuxEnd("/offerinterestmsg", postData);
@@ -1021,7 +997,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_MRKTINT_QUEST, action: 13037,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/offerinterestlistmsg", postData); return this.postAuxEnd("/offerinterestlistmsg", postData);
@@ -1043,9 +1019,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 20, ...reqData,
offset: 0,
action: apiConst.WRENCHBOARD_FAMILY_LIST,
}; };
return this.postAuxEnd("/familylist", postData); return this.postAuxEnd("/familylist", postData);
} }
@@ -1056,7 +1030,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_OFFER_SYSTEM, action: 13025,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/assigntask", postData); return this.postAuxEnd("/assigntask", postData);
@@ -1070,7 +1044,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 30, limit: 30,
offset: 0, offset: 0,
action: apiConst.WRENCHBOARD_JOB_OFFER_SYSTEM, action: 13010,
}; };
return this.postAuxEnd("/familysuggestlist", postData); return this.postAuxEnd("/familysuggestlist", postData);
} }
@@ -1081,7 +1055,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_PROFILE_RESETPASS, action: 11005,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/profilepasschange", postData); return this.postAuxEnd("/profilepasschange", postData);
@@ -1093,7 +1067,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_GETUSER_SETTINGS, action: 11059,
}; };
return this.postAuxEnd("/getaccsettings", postData); return this.postAuxEnd("/getaccsettings", postData);
} }
@@ -1104,7 +1078,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_SETTINGS, action: 11058,
...reqdata, ...reqdata,
}; };
return this.postAuxEnd("/setaccsettings", postData); return this.postAuxEnd("/setaccsettings", postData);
@@ -1116,7 +1090,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_USER_CARDREMV, action: 11057,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/payremcard", postData); return this.postAuxEnd("/payremcard", postData);
@@ -1129,7 +1103,7 @@ class usersService {
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
limit: 30, limit: 30,
offset: 0, offset: 0,
action: apiConst.WRENCHBOARD_ACCOUNT_RECENTS, action: 11202,
}; };
return this.postAuxEnd("/recentactivities", postData); return this.postAuxEnd("/recentactivities", postData);
} }
@@ -1151,7 +1125,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_FAMILY_SGGESTSTATUS, action: 22026,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/suggeststatus", postData); return this.postAuxEnd("/suggeststatus", postData);
@@ -1163,7 +1137,7 @@ class usersService {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_FAMILY_WALLET, action: 22012,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/familywallet", postData); return this.postAuxEnd("/familywallet", postData);
@@ -1191,13 +1165,14 @@ class usersService {
return this.postAuxEnd("/familytransfer", postData); return this.postAuxEnd("/familytransfer", postData);
} }
// FUNCTION GET JOB GROUP LIST // FUNCTION GET JOB GROUP LIST
jobGroupList(reqData) { jobGroupList(reqData) {
var postData = { var postData = {
uid: localStorage.getItem("uid"), uid: localStorage.getItem("uid"),
member_id: localStorage.getItem("member_id"), member_id: localStorage.getItem("member_id"),
sessionid: localStorage.getItem("session_token"), sessionid: localStorage.getItem("session_token"),
action: apiConst.WRENCHBOARD_JOB_JOBGROUPS, action: 13045,
...reqData, ...reqData,
}; };
return this.postAuxEnd("/jobgrouplist", postData); return this.postAuxEnd("/jobgrouplist", postData);