Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b96e8a3ed5 | |||
| f3226a6cfc | |||
| ff4c503100 | |||
| f543a2d893 | |||
| 41badd52be | |||
| eeddd4e0a5 | |||
| ee4d136834 | |||
| 283efa42b3 | |||
| 5cbab4933c | |||
| 4de2181c18 | |||
| c8f0161a29 | |||
| 60222b6d88 | |||
| 9ea3963239 | |||
| a87592623b | |||
| bfcf53f763 | |||
| df4489c6f2 | |||
| 37185812b4 | |||
| eb3e78244d | |||
| b302d7ba57 | |||
| d6c16169d9 | |||
| 57129da0bd | |||
| 9eaf7123d4 | |||
| 096da29149 | |||
| c8331c51cf | |||
| 3b7618702b | |||
| 84968b4435 | |||
| 98f11a3d80 | |||
| 98d734e869 | |||
| 47004fec8c | |||
| 48ce89489e | |||
| 1ce05a3be3 | |||
| 28ab1116e9 | |||
| 994060d929 | |||
| a5c62564b7 | |||
| 22e61d2b41 | |||
| 6ab5eae0c0 |
@@ -46,7 +46,7 @@ REACT_APP_GOOGLE_REDIRECT_URL=http://localhost:9082/login/auth/
|
||||
REACT_APP_FACEBOOK_CLIENT_ID2=390204307987009
|
||||
REACT_APP_FACEBOOK_CLIENT_SECRET2=19f778e312f2ab96d147bacb612910c2
|
||||
|
||||
#developenet Account
|
||||
#development Account Social
|
||||
REACT_APP_FACEBOOK_CLIENT_ID=677857427521030
|
||||
REACT_APP_FACEBOOK_CLIENT_SECRET=4801375f22072d8a75f64483fdd89829
|
||||
|
||||
|
||||
@@ -56,6 +56,8 @@ export default function Routers() {
|
||||
<Routes>
|
||||
{/* guest routes */}
|
||||
<Route exact path="/login" element={<LoginPage />} />
|
||||
<Route exact path="/eoffer" element={<LoginPage />} />
|
||||
|
||||
<Route exact path="/signup" element={<SignupPage />} />
|
||||
<Route exact path="/login/auth" element={<AuthRedirect />} />
|
||||
<Route exact path="/login/auth/flogin" element={<FacebookRedirect />} />
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 110 KiB |
@@ -1,6 +1,6 @@
|
||||
import React, { useState } from "react";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout";
|
||||
|
||||
@@ -4,7 +4,7 @@ import linkedInLogo from "../../../assets/images/Linkedin.png";
|
||||
import appleLogo from "../../../assets/images/apple-black.svg";
|
||||
import facebookLogo from "../../../assets/images/facebook-4.svg";
|
||||
import googleLogo from "../../../assets/images/google-logo.svg";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout";
|
||||
@@ -432,10 +432,12 @@ export default function Login() {
|
||||
}
|
||||
{/* END of login component */}
|
||||
|
||||
{loginType == "full" &&
|
||||
<div className="pt-5 text-[#181c32] text-center font-semibold text-[13.975px] leading-[20.9625px]">
|
||||
This site is protected by hCaptcha and the our Privacy Policy
|
||||
and Terms of Service apply.
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import React, { useCallback, useEffect, useState } from "react";
|
||||
import { Link, useNavigate } from "react-router-dom";
|
||||
import facebookLogo from "../../../assets/images/facebook-4.svg";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout";
|
||||
@@ -69,13 +68,17 @@ export default function SignUp() {
|
||||
let regEx = /^[^0-9][a-zA-Z0-9._%+-]+@[a-zA-Z]+(\.[a-zA-Z]+)+$/;
|
||||
if (regEx.test(email) == false) {
|
||||
setMsgError("Invalid Email");
|
||||
return setTimeout(()=>{setMsgError("");},3000)
|
||||
return setTimeout(() => {
|
||||
setMsgError("");
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
//checks if terms and condition is checked
|
||||
if (!checked) {
|
||||
setMsgError("Terms and condition required");
|
||||
return setTimeout(()=>{setMsgError("");},3000)
|
||||
return setTimeout(() => {
|
||||
setMsgError("");
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
setSignUpLoading(true);
|
||||
@@ -95,7 +98,9 @@ export default function SignUp() {
|
||||
if (res.status === 200) {
|
||||
const { data } = res;
|
||||
if (data && data.acc === "DULPICATE") {
|
||||
setMsgError("Unable to use this username. Please try another username.");
|
||||
setMsgError(
|
||||
"Unable to use this username. Please try another username."
|
||||
);
|
||||
setSignUpLoading(false);
|
||||
}
|
||||
if (data && data.status === "1") {
|
||||
@@ -211,9 +216,7 @@ export default function SignUp() {
|
||||
name="password"
|
||||
type={showPassword ? "text" : "password"}
|
||||
onClick={togglePasswordVisibility}
|
||||
passIcon={
|
||||
showPassword ? "show-password" : "hide-password"
|
||||
}
|
||||
passIcon={showPassword ? "show-password" : "hide-password"}
|
||||
value={formData.password}
|
||||
inputHandler={handleInputChange}
|
||||
/>
|
||||
@@ -223,7 +226,48 @@ export default function SignUp() {
|
||||
{msgError}
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="forgot-password-area flex justify-between items-center mb-6">
|
||||
<div className="remember-checkbox flex items-center space-x-2.5 group cursor-pointer">
|
||||
<button
|
||||
onClick={rememberMe}
|
||||
type="button"
|
||||
className={`w-6 h-6 border-[#4687ba] text-white flex justify-center items-center border rounded-[.45em] group-checked:text-white transition-all duration-200 group-checked:cursor-default ${
|
||||
checked && "text-white bg-[#4687ba]"
|
||||
}`}
|
||||
>
|
||||
{checked && (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className="h-5 w-5"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
d="M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z"
|
||||
clipRule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
)}
|
||||
</button>
|
||||
<span
|
||||
onClick={rememberMe}
|
||||
className="cursor-default text-dark-gray dark:text-white text-[15px] group-checked:text-white transition-all duration-200 group-checked:cursor-default"
|
||||
>
|
||||
I agree with all
|
||||
<Link
|
||||
href="#"
|
||||
className="text-base text-[#4687ba] hover:text-[#009ef7] mx-1 inline-block"
|
||||
>
|
||||
terms and condition
|
||||
</Link>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Forgot Password */}
|
||||
{/* <div className="forgot-password-area flex justify-between items-center mb-6">
|
||||
<div className="remember-checkbox flex items-center space-x-2.5">
|
||||
<button
|
||||
onClick={rememberMe}
|
||||
@@ -258,7 +302,7 @@ export default function SignUp() {
|
||||
</Link>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div> */}
|
||||
<div className="signin-area mb-1">
|
||||
<div className="flex justify-center">
|
||||
<button
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
import { Link, useLocation, useNavigate } from "react-router-dom";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import debounce from "../../../hooks/debounce";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useState } from "react";
|
||||
import { Link, useLocation, useNavigate } from "react-router-dom";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import AuthLayout from "../AuthLayout";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useNavigate, Link } from "react-router-dom";
|
||||
import AuthLayout from "../AuthLayout";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard.png";
|
||||
import WrenchBoard from "../../../assets/images/wrenchboard-logo-text.png";
|
||||
|
||||
export default function VerifyYou() {
|
||||
const navigate = useNavigate();
|
||||
|
||||
@@ -19,7 +19,7 @@ export default function OfferCard({ datas, hidden = false, setOfferPopout }) {
|
||||
className="thumbnail w-full h-full rounded-xl overflow-hidden px-4 pt-4"
|
||||
style={{
|
||||
background: `url(${localImgLoad(
|
||||
`images/taskbanners/${datas.banner}`
|
||||
`images/taskbanners/${datas?.banner || "default.jpg"}`
|
||||
)}) center / contain no-repeat`,
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -110,7 +110,7 @@ export default function MyJobTable({ MyJobList, reloadJobList, className }) {
|
||||
return (
|
||||
<tr
|
||||
key={index}
|
||||
className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50"
|
||||
className="bg-white dark:bg-dark-white border-b dark:border-[#5356fb29] hover:bg-gray-50"
|
||||
>
|
||||
<td className="py-9">
|
||||
<div className="sm:flex sm:space-x-2 sm:justify-between sm:items-center job-items">
|
||||
@@ -175,7 +175,7 @@ export default function MyJobTable({ MyJobList, reloadJobList, className }) {
|
||||
}}
|
||||
className="w-20 h-11 flex justify-center items-center btn-gradient text-base rounded-full text-white"
|
||||
>
|
||||
Manage
|
||||
Assign
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -204,8 +204,8 @@ export default function MyJobTable({ MyJobList, reloadJobList, className }) {
|
||||
{MyJobList.loading ? (
|
||||
<LoadingSpinner size="16" color="sky-blue" />
|
||||
) : (
|
||||
<div className="relative w-full overflow-x-auto sm:rounded-lg flex flex-col justify-between h-full">
|
||||
<table className="table-auto min-w-full text-sm text-left text-gray-500 dark:text-gray-400 min-h-[500px]">
|
||||
<div className="relative w-full overflow-x-auto sm:rounded-lg flex flex-col justify-between min-h-[520px]">
|
||||
<table className="table-auto min-w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<tbody>
|
||||
<>
|
||||
{MyJobList &&
|
||||
|
||||
@@ -58,7 +58,7 @@ export default function MyPendingJobTable({ MyJobList, className }) {
|
||||
<div className="flex space-x-2 items-center w-full">
|
||||
<div className="w-[60px] h-[60px] p-2 bg-alice-blue rounded-full overflow-hidden flex justify-center items-center">
|
||||
<img
|
||||
src={localImgLoad(`images/taskbanners/${value.banner}`)}
|
||||
src={localImgLoad(`images/taskbanners/${value.banner || "default.jpg"}`)}
|
||||
alt="data"
|
||||
className="w-full h-full rounded-full"
|
||||
/>
|
||||
|
||||
@@ -9,7 +9,7 @@ export default function MyPendingJobs(props) {
|
||||
const filterHandler = (value) => {
|
||||
setValue(value);
|
||||
};
|
||||
console.log("AMEYE LOC1", props.MyJobList);
|
||||
// console.log("AMEYE LOC1", props.MyJobList);
|
||||
return (
|
||||
<Layout>
|
||||
<CommonHead
|
||||
|
||||
@@ -136,6 +136,12 @@ function AddFundDollars(props) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Number(props.input) * 100 > Number(props.walletItem?.transfer_limit)) {
|
||||
props.setInputError("Credit limit has been exceeded");
|
||||
setTimeout(() => props.setInputError(""), 5000);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tab === "previous") {
|
||||
// To check if card is empty
|
||||
if (Object.keys(prevCardDetails).length === 0) {
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import React, { useState } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import Icons from "../../Helpers/Icons";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
@@ -15,10 +14,9 @@ function AddFundPop({
|
||||
setConfirmCredit,
|
||||
walletItem,
|
||||
}) {
|
||||
const navigate = useNavigate();
|
||||
const apiCall = new usersService();
|
||||
let countryWallet = walletItem?.country;
|
||||
const { payment, currency } = _payment;
|
||||
const { currency } = _payment;
|
||||
|
||||
const [inputError, setInputError] = useState("");
|
||||
let __awaitComponent = confirmCredit.show.awaitConfirm;
|
||||
@@ -44,6 +42,12 @@ function AddFundPop({
|
||||
return;
|
||||
}
|
||||
|
||||
if (Number(input) * 100 > Number(walletItem?.transfer_limit)) {
|
||||
setInputError("Credit limit has been exceeded");
|
||||
setTimeout(() => setInputError(""), 5000);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isNaN(input)) {
|
||||
setConfirmCredit((prev) => ({
|
||||
...prev,
|
||||
@@ -106,14 +110,14 @@ function AddFundPop({
|
||||
</h1>
|
||||
<div className="field w-full max-w-[250px]">
|
||||
<InputCom
|
||||
fieldClass="px-6"
|
||||
fieldClass="px-6 text-right"
|
||||
type="text"
|
||||
name="amount"
|
||||
placeholder="0"
|
||||
value={input}
|
||||
inputHandler={handleChange}
|
||||
/>
|
||||
<p className="text-base text-red-500 h-5">
|
||||
<p className="text-base text-red-500 italic h-5">
|
||||
{inputError && inputError}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,7 @@
|
||||
import React from "react";
|
||||
|
||||
function CompleteConfirmCredit({ onClose, confirmCredit }) {
|
||||
const { data } = confirmCredit;
|
||||
|
||||
const backToWallet = () => {
|
||||
onClose();
|
||||
window.location.reload(true);
|
||||
};
|
||||
const { data } = confirmCredit
|
||||
return (
|
||||
<div className="logout-modal-body w-full flex flex-col items-center">
|
||||
<div className="content-wrapper w-full h-[32rem]">
|
||||
@@ -104,7 +99,7 @@ function CompleteConfirmCredit({ onClose, confirmCredit }) {
|
||||
<div className="md:p-8 p-4 add-fund-btn flex justify-end items-center py-4 gap-4">
|
||||
<button
|
||||
className="px-4 h-11 flex justify-center items-center btn-gradient text-white text-base rounded-full w-[100px]"
|
||||
onClick={backToWallet}
|
||||
onClick={onClose}
|
||||
>
|
||||
Ok
|
||||
</button>
|
||||
|
||||
@@ -113,7 +113,7 @@ function ConfirmAddFund({
|
||||
|
||||
const config = {
|
||||
public_key: process.env.REACT_APP_FLUTTERWAVE_APIKEY,
|
||||
tx_ref: Date.now(),
|
||||
tx_ref: __confirmData?.credit_reference,
|
||||
currency: "NGN",
|
||||
amount: Number(__confirmData.amount),
|
||||
payment_options: "card,mobilemoney,ussd",
|
||||
@@ -124,27 +124,28 @@ function ConfirmAddFund({
|
||||
},
|
||||
customizations: {
|
||||
title: "WrenchBoard",
|
||||
description: "Topup Payment",
|
||||
logo: "https://st2.depositphotos.com/4403291/7418/v/450/depositphotos_74189661-stock-illustration-online-shop-log.jpg",
|
||||
description: "Add Credit Payment",
|
||||
logo: "https://www.wrenchboard.com/assets/images/wrench-500-500-icon.png",
|
||||
},
|
||||
};
|
||||
|
||||
//debugger;
|
||||
const fwConfig = {
|
||||
...config,
|
||||
text: "Proceed",
|
||||
callback: (response) => {
|
||||
onSuccessPayment();
|
||||
closePaymentModal();
|
||||
setTimeout(() => {
|
||||
closePaymentModal();
|
||||
}, 2000);
|
||||
},
|
||||
onClose: () => {},
|
||||
};
|
||||
|
||||
const onSuccessPayment = () => {
|
||||
setRequestStatus({ message: "", loading: true, status: false });
|
||||
const reqData = { amount: Number(__confirmData?.amount), currency: "NGN" };
|
||||
|
||||
const reqData = { tx_ref: __confirmData?.credit_reference };
|
||||
console.log("**** onSuccessPayment **** THIS WAS REACHED");
|
||||
apiURL
|
||||
.startTopUp(reqData)
|
||||
.resultTopUp(reqData)
|
||||
.then((res) => {
|
||||
if (res.data.internal_return < 0) {
|
||||
setRequestStatus({
|
||||
@@ -159,8 +160,15 @@ function ConfirmAddFund({
|
||||
loading: false,
|
||||
status: true,
|
||||
});
|
||||
toast.success("Account Topup was successful");
|
||||
onClose()
|
||||
|
||||
setConfirmCredit((prev) => ({
|
||||
...prev,
|
||||
show: {
|
||||
awaitConfirm: { loader: false, state: false },
|
||||
acceptConfirm: { loader: false, state: true },
|
||||
},
|
||||
data: res,
|
||||
}));
|
||||
dispatch(tableReload({ type: "WALLETTABLE" }));
|
||||
navigate("/my-wallet", { replace: true });
|
||||
// setTimeout(() => {
|
||||
@@ -267,7 +275,7 @@ function ConfirmAddFund({
|
||||
}));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
setTimeout(() => {
|
||||
setConfirmCredit((prev) => ({
|
||||
...prev,
|
||||
@@ -300,7 +308,7 @@ function ConfirmAddFund({
|
||||
},
|
||||
data: {},
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="content-wrapper w-full h-[32rem]">
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { useState } from "react";
|
||||
import { useNavigate } from "react-router-dom";
|
||||
import usersService from "../../../services/UsersService";
|
||||
import InputCom from "../../Helpers/Inputs/InputCom";
|
||||
import ModalCom from "../../Helpers/ModalCom";
|
||||
import LoadingSpinner from "../../Spinners/LoadingSpinner";
|
||||
import { useDispatch } from "react-redux";
|
||||
import { tableReload } from "../../../store/TableReloads";
|
||||
|
||||
function ConfirmNairaWithdraw({
|
||||
payment,
|
||||
@@ -14,7 +15,7 @@ function ConfirmNairaWithdraw({
|
||||
setShowNairaWithdraw,
|
||||
}) {
|
||||
const apiURL = new usersService();
|
||||
const navigate = useNavigate();
|
||||
const dispatch = useDispatch();
|
||||
|
||||
let [requestStatus, setRequestStatus] = useState({
|
||||
message: "",
|
||||
@@ -90,6 +91,7 @@ function ConfirmNairaWithdraw({
|
||||
state: res.data,
|
||||
});
|
||||
}, 5000);
|
||||
dispatch(tableReload({ type: "WALLETTABLE" }));
|
||||
return;
|
||||
})
|
||||
.catch((error) => {
|
||||
@@ -101,19 +103,6 @@ function ConfirmNairaWithdraw({
|
||||
});
|
||||
};
|
||||
|
||||
const getBack = () => {
|
||||
action();
|
||||
setShowNairaWithdraw({
|
||||
show: true,
|
||||
data: {},
|
||||
});
|
||||
};
|
||||
|
||||
const completeWithdrawal = () => {
|
||||
action();
|
||||
window.location.reload(true);
|
||||
};
|
||||
|
||||
return (
|
||||
<ModalCom action={action} situation={situation} className="edit-popup">
|
||||
<div className="logout-modal-wrapper lw-[90%] md:w-[768px] h-full lg:h-auto bg-white dark:bg-dark-white lg:rounded-2xl">
|
||||
@@ -263,6 +252,10 @@ function ConfirmNairaWithdraw({
|
||||
?.toLowerCase()
|
||||
.includes("limit")
|
||||
? "Transfer limit Error"
|
||||
: completeNairaWithdraw.state?.bad_param
|
||||
?.toLowerCase()
|
||||
.includes("balance")
|
||||
? "Insufficient Balance"
|
||||
: "An Error Occurred"}{" "}
|
||||
</h1>
|
||||
</div>
|
||||
@@ -283,6 +276,10 @@ function ConfirmNairaWithdraw({
|
||||
?.toLowerCase()
|
||||
.includes("limit")
|
||||
? "The transfer limit has been exceeded"
|
||||
: completeNairaWithdraw.state?.bad_param
|
||||
?.toLowerCase()
|
||||
.includes("balance")
|
||||
? "Insufficient Balance for Transaction"
|
||||
: "Could not perform transaction"}
|
||||
</span>
|
||||
</div>
|
||||
@@ -405,7 +402,7 @@ function ConfirmNairaWithdraw({
|
||||
<button
|
||||
onClick={
|
||||
completeNairaWithdraw.show
|
||||
? completeWithdrawal
|
||||
? action
|
||||
: completeNairaWithdraw?.state?.internal_return < 0
|
||||
? action
|
||||
: handleSubmit
|
||||
|
||||
@@ -171,8 +171,8 @@ function NairaWithdraw({
|
||||
setErrorMsgs({ amount: "amount required" });
|
||||
setTimeout(() => setErrorMsgs({ amount: "" }), 3000);
|
||||
return;
|
||||
} else if (Number(values.amount) > Number(wallet?.transfer_limit)) {
|
||||
setErrorMsgs({ amount: "transfer limit exceeded" });
|
||||
}else if (Number(values.amount * 100) > Number(wallet?.transfer_limit)) {
|
||||
setErrorMsgs({ amount: "Withdraw limit has been exceeded" });
|
||||
setTimeout(() => setErrorMsgs({ amount: "" }), 3000);
|
||||
return;
|
||||
}
|
||||
@@ -326,8 +326,8 @@ function NairaWithdraw({
|
||||
<InputCom
|
||||
fieldClass="px-4 text-end"
|
||||
parentClass="flex items-center gap-1 justify-between"
|
||||
labelClass="flex-[0.3] mb-0"
|
||||
inputClass="flex-[0.7] max-w-[12rem]"
|
||||
labelClass="flex-[0.4] mb-0"
|
||||
inputClass="flex-[0.6] max-w-[12rem]"
|
||||
label="Amount:"
|
||||
type="number"
|
||||
name="amount"
|
||||
|
||||
@@ -67,9 +67,6 @@ const WalletRoutes = () => {
|
||||
getPaymentHistory()
|
||||
}, [walletTable]);
|
||||
|
||||
|
||||
|
||||
console.log('TESTING',walletTable);
|
||||
return (
|
||||
<Layout>
|
||||
<Suspense fallback={<LoadingSpinner size="16" color="sky-blue" />}>
|
||||
|
||||
@@ -8,30 +8,12 @@ function WalletAction({ walletItem, payment, openPopUp }) {
|
||||
show: false,
|
||||
state: {},
|
||||
}); // DETERMINES WHEN NAIRA WITHDRAWAL POPS UP
|
||||
const [countries, setCountries] = useState([]);
|
||||
|
||||
const [showConfirmNairaWithdraw, setShowConfirmNairaWithdraw] = useState({
|
||||
show: false,
|
||||
state: {},
|
||||
}); // DETERMINES WHEN CONFIRM NAIRA WITHDRAWAL POPS UP
|
||||
|
||||
const userApi = new usersService();
|
||||
|
||||
// Get Country Api
|
||||
const getCountryList = useCallback(async () => {
|
||||
const res = await userApi.getSignupCountryData();
|
||||
|
||||
try {
|
||||
if (res.status === 200) {
|
||||
const { signup_country } = await res.data;
|
||||
setCountries(signup_country);
|
||||
} else if (res.data.result !== 100) {
|
||||
setCountries("Nothing see here!");
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(error);
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div className="counters w-full flex justify-between gap-2">
|
||||
<div className="w-1/2 flex justify-center items-center">
|
||||
|
||||
@@ -14,7 +14,7 @@ import WalletHeader from "../MyWallet/WalletHeader";
|
||||
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import Flag from "../../assets/images/united-states.svg";
|
||||
import siteLogo from "../../assets/images/wrenchboard.png";
|
||||
import siteLogo from "../../assets/images/wrenchboard-logo-text.png";
|
||||
import formattedDate from "../../lib/fomattedDate";
|
||||
import { updateNotifications } from "../../store/notifications";
|
||||
import TimeDifference from "../Helpers/TimeDifference";
|
||||
|
||||
@@ -4,7 +4,7 @@ import { NavLink } from "react-router-dom";
|
||||
import {
|
||||
default as logo,
|
||||
default as logo3,
|
||||
} from "../../assets/images/wrenchboard.png"; //logo-2.svg";
|
||||
} from "../../assets/images/wrenchboard-logo-text.png"; //logo-2.svg";
|
||||
import DarkModeContext from "../Contexts/DarkModeContext";
|
||||
import Icons from "../Helpers/Icons";
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { NavLink } from "react-router-dom";
|
||||
import {
|
||||
default as logo,
|
||||
default as logo3,
|
||||
} from "../../assets/images/wrenchboard.png";
|
||||
} from "../../assets/images/wrenchboard-logo-text.png";
|
||||
import DarkModeContext from "../Contexts/DarkModeContext";
|
||||
import Icons from "../Helpers/Icons";
|
||||
|
||||
|
||||
@@ -577,16 +577,31 @@ class usersService {
|
||||
return this.postAuxEnd("/familymanage", postData);
|
||||
}
|
||||
|
||||
//END POINT CALL FOR ACCOUNT TOP
|
||||
// END POINT CALL FOR ACCOUNT TOP
|
||||
startTopUp(post) {
|
||||
alert("WHY ARE WE CALLING THIS ?");
|
||||
// var postData = {
|
||||
// uid: localStorage.getItem("uid"),
|
||||
// member_id: localStorage.getItem("member_id"),
|
||||
// sessionid: localStorage.getItem("session_token"),
|
||||
// action: 11062,
|
||||
// ...post,
|
||||
// };
|
||||
// console.log("starttopup",postData);
|
||||
// return this.postAuxEnd("/starttopup", postData);
|
||||
}
|
||||
|
||||
|
||||
resultTopUp(post) {
|
||||
var postData = {
|
||||
uid: localStorage.getItem("uid"),
|
||||
member_id: localStorage.getItem("member_id"),
|
||||
sessionid: localStorage.getItem("session_token"),
|
||||
action: 11062,
|
||||
action: 11061,
|
||||
...post,
|
||||
};
|
||||
return this.postAuxEnd("/starttopup", postData);
|
||||
console.log("topupresult",postData);
|
||||
return this.postAuxEnd("/topupresult", postData);
|
||||
}
|
||||
|
||||
//END POINT CALL FOR SENDING REFERRAL MESSAGE
|
||||
|
||||
Reference in New Issue
Block a user