From 4df158922210a37676d1bc4680fd680dbc3ca707 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GBA0BK8\\Admin" Date: Wed, 26 Apr 2023 22:13:41 -0400 Subject: [PATCH 1/3] my jobs list --- src/components/Home/HomeSliders.jsx | 5 +++-- src/index.css | 6 ++++++ src/services/UsersService.js | 3 ++- src/views/MyJobsPage.jsx | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/Home/HomeSliders.jsx b/src/components/Home/HomeSliders.jsx index aa1ea70..feb6fcd 100644 --- a/src/components/Home/HomeSliders.jsx +++ b/src/components/Home/HomeSliders.jsx @@ -2,6 +2,7 @@ import SliderCom from "../Helpers/SliderCom"; import slider1 from "../../assets/images/slider-1.jpg"; import slider2 from "../../assets/images/slider-2.jpg"; import slider3 from "../../assets/images/slider-3.jpg"; +import HomeBannerOffersCard from "../Cards/HomeBannerOffersCard"; export default function HomeSliders(props) { @@ -20,8 +21,8 @@ export default function HomeSliders(props) {
slider
-
-Olusesan Ameye Data +
+
diff --git a/src/index.css b/src/index.css index 313642e..b717d6d 100644 --- a/src/index.css +++ b/src/index.css @@ -10,6 +10,12 @@ src: url("./assets/fonts/Product Sans Bold.ttf"); } +.banner-630-340{ + width: 630px; + height: 340px; + background-color: aliceblue; +} + /* Bold italic Weight */ @font-face { font-family: "Product Sans"; diff --git a/src/services/UsersService.js b/src/services/UsersService.js index a1fb93f..944a584 100644 --- a/src/services/UsersService.js +++ b/src/services/UsersService.js @@ -113,9 +113,10 @@ class usersService { member_id: localStorage.getItem("member_id"), sessionid: localStorage.getItem("session_token"), page:0, + offset:0, limit :100 }; - return this.postAuxEnd("/myjobs", postData); + return this.postAuxEnd("/jobmanagerlist", postData); } getGetPendingJobs(){ diff --git a/src/views/MyJobsPage.jsx b/src/views/MyJobsPage.jsx index 9b484f5..83c5012 100644 --- a/src/views/MyJobsPage.jsx +++ b/src/views/MyJobsPage.jsx @@ -27,7 +27,7 @@ export default function MyJobsPage() { debugger; return ( <> - + ); } From f87dbcbe5eb56f0c881fe2dc74c8b2d2272212f2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-GBA0BK8\\Admin" Date: Wed, 26 Apr 2023 22:40:15 -0400 Subject: [PATCH 2/3] Jobs format --- src/components/MyJobs/MyJobTable.jsx | 1010 ++------------------------ src/components/MyJobs/index.jsx | 5 +- src/views/MyJobsPage.jsx | 2 +- 3 files changed, 49 insertions(+), 968 deletions(-) diff --git a/src/components/MyJobs/MyJobTable.jsx b/src/components/MyJobs/MyJobTable.jsx index 3942b42..8531cd3 100644 --- a/src/components/MyJobs/MyJobTable.jsx +++ b/src/components/MyJobs/MyJobTable.jsx @@ -5,7 +5,7 @@ import dataImage3 from "../../assets/images/data-table-user-3.png"; import dataImage4 from "../../assets/images/data-table-user-4.png"; import SelectBox from "../Helpers/SelectBox"; -export default function MyJobTable({ className }) { +export default function MyJobTable({MyJobList, className }) { const filterCategories = ["All Categories", "Explore", "Featured"]; const [selectedCategory, setCategory] = useState(filterCategories[0]); return ( @@ -34,36 +34,38 @@ export default function MyJobTable({ className }) { All Product Value USD - 24H% - Bits Time Status {selectedCategory === "All Categories" ? ( <> - - -
-
- data -
-
-

- Mullican Computer Joy -

- + {MyJobList && MyJobList?.result_list && + MyJobList.result_list.length > 0 && + MyJobList.result_list.map((value) => ( + <> + + +
+
+ data +
+
+

+ {value.title} +

+ Owned by Xoeyam -
-
- - -
+
+
+ + +
- + 7473 ETH -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - +
+ + + + + + + + + ))} + + ) : selectedCategory === "Explore" ? ( <> - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - + ) : ( <> - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - - - -
-
- data -
-
-

- Mullican Computer Joy -

- - Owned by Xoeyam - -
-
- - -
- - - - - - - - - - - - - 7473 ETH - -
- - -
- - - - - - - - - - 6392.99$ - -
- - - - -24.75 (11.5%) - - - - - 343 - - - - - 2 Hours 1 min 30s - - - - - - + )} diff --git a/src/components/MyJobs/index.jsx b/src/components/MyJobs/index.jsx index 42502b3..6d4e29f 100644 --- a/src/components/MyJobs/index.jsx +++ b/src/components/MyJobs/index.jsx @@ -4,11 +4,12 @@ import Layout from "../Partials/Layout"; import MyJobTable from "./MyJobTable"; import CommonHead from "../UserHeader/CommonHead"; -export default function MyJobs() { +export default function MyJobs(props) { const [selectTab, setValue] = useState("today"); const filterHandler = (value) => { setValue(value); }; + console.log("AMEYE LOC1", props.MyJobList); return ( @@ -32,7 +33,7 @@ export default function MyJobs() { - + diff --git a/src/views/MyJobsPage.jsx b/src/views/MyJobsPage.jsx index 83c5012..6e85279 100644 --- a/src/views/MyJobsPage.jsx +++ b/src/views/MyJobsPage.jsx @@ -24,7 +24,7 @@ export default function MyJobsPage() { getMyJobList(); }, []); - debugger; + // debugger; return ( <> From d94ff616a955dd2bbcef11b8a18978cc918dc7f2 Mon Sep 17 00:00:00 2001 From: victorAnumudu Date: Thu, 27 Apr 2023 04:26:11 +0100 Subject: [PATCH 3/3] added validation to add recipient page --- src/components/MyWallet/AddRecipient.jsx | 422 +++++++++++++---------- 1 file changed, 246 insertions(+), 176 deletions(-) diff --git a/src/components/MyWallet/AddRecipient.jsx b/src/components/MyWallet/AddRecipient.jsx index fbce09b..f8d778b 100644 --- a/src/components/MyWallet/AddRecipient.jsx +++ b/src/components/MyWallet/AddRecipient.jsx @@ -2,12 +2,68 @@ import React, {useEffect, useState} from 'react' import { Link } from 'react-router-dom' import Icons from '../Helpers/Icons' import usersService from '../../services/UsersService' +import InputCom from '../Helpers/Inputs/InputCom' + +import {Formik, Form} from 'formik' +import * as Yup from 'yup' + + +const validationSchema = Yup.object().shape({ + firstname: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Firstname is required'), + lastname: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Lastname is required'), + country: Yup.string() + .min(1, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Country is required'), + bank: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Bank name is required'), + accountNumber: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Account Number is required'), + repeatAccountNumber: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Repeat Password is required'), + accountType: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('Account Type is required'), + city: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('City is required'), + state: Yup.string() + .min(3, 'Minimum 3 characters') + .max(25, 'Maximum 25 characters') + .required('State is required'), + }) + + const initialValues = { + firstname: '', + lastname: '', + country: '', + bank: '', + accountNumber: '', + repeatAccountNumber: '', + accountType: '', + state: '', + city: '' + } function AddRecipient() { const apiURL = new usersService() - let [countries, setCountries] = useState({ // STATE TO HOLD LIST OF COUNTRIES + let [allCountries, setAllCountries] = useState({ // STATE TO HOLD LIST OF COUNTRIES loading: true, data: [] }) @@ -17,60 +73,29 @@ function AddRecipient() { data: [] }) - let [accountType, setAccountType] = useState({ // STATE TO HOLD LIST ACCOUNT TYPE + let [accType, setAccType] = useState({ // STATE TO HOLD LIST ACCOUNT TYPE loading: true, data: [] }) - - //STATE FOR CONTROLLED INPUTS - let [inputs, setInputs] = useState({ - firstname: '', - lastname: '', - country: '', - 'bank-name': '', - 'account-number': '', - 'repeat-account-number': '', - 'account-type': '', - state: '', - city: '' - }) - - // FUNCTION TO HANDLE INPUT CHANGE - const handleChange = ({target:{name, value}}) => { - setInputs(prev => ({...prev, [name]:value})) - } //FUNCTION TO HANDLE SUBMIT - const handleSubmit = (e) => { - e.preventDefault(); + const handleSubmit = (values, helpers) => { + // setRequestState({message: '', loading: true, status: false}) + console.log('working') - //valid inputs before submitting. Just for texting remove later - - - // RETURN INPUTS TO EMPTY STRING - setInputs({ - firstname: '', - lastname: '', - country: '', - 'bank-name': '', - 'account-number': '', - 'repeat-account-number': '', - 'account-type': '', - state: '', - city: '' - }) + //valid inputs before submitting. Just for texting remove later } // FUNCTION TO GET COUNTRIES const getCountry = ()=> { apiURL.getSignupCountryData().then((res)=>{ if(res.data.internal_return < 0){ - setCountries(prev => ({loading: false, data: []})) + setAllCountries(prev => ({loading: false, data: []})) return } - setCountries(prev => ({loading: false, data:res.data.signup_country})) + setAllCountries(prev => ({loading: false, data:res.data.signup_country})) }).catch((error)=>{ - setCountries(prev => ({loading: false, data: []})) + setAllCountries(prev => ({loading: false, data: []})) }) } // END OF FUNCTION TO GET COUNTRIES @@ -93,12 +118,12 @@ function AddRecipient() { const getAccountTypes = ()=> { apiURL.getAccountTypes().then((res)=>{ if(res.data.internal_return < 0){ - setAccountType(prev => ({loading: false, data: []})) + setAccType(prev => ({loading: false, data: []})) return } - setAccountType(prev => ({loading: false, data:res.data.result_list})) + setAccType(prev => ({loading: false, data:res.data.result_list})) }).catch((error)=>{ - setAccountType(prev => ({loading: false, data: []})) + setAccType(prev => ({loading: false, data: []})) }) } // END OF FUNCTION TO GET ACCOUNT TYPES @@ -113,148 +138,193 @@ function AddRecipient() {
-

ADD BANK ACCOUNT

-
- - {/* inputs starts here */} -
- - -
+

ADD BANK ACCOUNT

+ + {(props)=>( + + + {/* inputs starts here */} + {/* firstname */} +
+
+ + {(props.errors.firstname && props.touched.firstname) &&

{props.errors.firstname}

} +
-
- - -
+ {/* lastname */} +
+ + {(props.errors.lastname && props.touched.lastname) &&

{props.errors.lastname}

} +
+
-
- - -
+ +
+ {/* country */} +
+ + + {(props.errors.country && props.touched.country) &&

{props.errors.country}

} +
+ + {/* bank name */} +
+ + + {(props.errors.bank && props.touched.bank) &&

{props.errors.bank}

} +
+
-
- - -
+ {/* ACCOUNT NUMBER */} +
+
+ + {(props.errors.accountNumber && props.touched.accountNumber) &&

{props.errors.accountNumber}

} +
-
- - -
+ {/* REPEAT ACCT. NUMBER */} +
+ + {(props.errors.repeatAccountNumber && props.touched.repeatAccountNumber) &&

{props.errors.repeatAccountNumber}

} +
+
-
- - -
+
+ {/* Account Type */} +
+ + + {(props.errors.accountType && props.touched.accountType) &&

{props.errors.accountType}

} +
+
-
- - -
+ {/* state */} +
+
+ + {(props.errors.state && props.touched.state) &&

{props.errors.state}

} +
-
- - -
+ {/* city */} +
+ + {(props.errors.city && props.touched.city) &&

{props.errors.city}

} +
+
-
- - -
+ {/* end of inputs starts here */} - {/* end of inputs starts here */} - -
- -
- +
+ +
+ + )} +