import React,{useEffect, useState} from 'react' import { useNavigate } from 'react-router-dom' import InputCom from '../Helpers/Inputs/InputCom'; import PaginatedList from '../Pagination/PaginatedList'; import { handlePagingFunc } from '../Pagination/HandlePagination'; import LoadingSpinner from '../Spinners/LoadingSpinner'; import usersService from '../../services/UsersService'; import { Form, Formik } from "formik"; import * as Yup from "yup"; const validationSchema = Yup.object().shape({ name: Yup.string() .min(3, "Minimum 3 characters") .max(50, "Maximum 50 characters") .required("Name is required"), cardNum: Yup.string() .min(3, "Minimum 3 characters") .max(25, "Maximum 25 characters") .required("Card Number is required"), code: Yup.string() .min(3, "Minimum 3 characters") .max(25, "Maximum 25 characters") .required("Postal Code is required"), state: Yup.string() .min(3, "Minimum 3 characters") .max(25, "Maximum 25 characters") .required("State is required"), address: Yup.string() .min(3, "Minimum 3 characters") .max(50, "Maximum 50 characters") .required("Address is required"), expirationYear: Yup.string() .min(4, "Minimum 4 characters") .max(4, "Maximum 4 characters") .required("Expiration Year is required"), expirationMonth: Yup.string() .min(1, "Minimum 1 characters") .max(2, "Maximum 2 characters") .required("Expiration Month is required"), cvv: Yup.string() .min(3, "Minimum 3 characters") .max(4, "Maximum 4 characters") .required("CVV Year is required"), }); const initialValues = { name: '', cardNum: '', code: '', state: '', address: '', expirationYear: '', expirationMonth: '', cvv: '' }; function AddFundDollars(props) { const navigate = useNavigate() let apiCall = new usersService() let [tab, setTab] = useState("previous"); //STATE FOR SWITCHING BETWEEN TABS let [prevCardDetails, setPrevCardDetails] = useState(null) // STATE TO HOLD PREVIOUS CARD SELECTED let [payListCard, setPayListCard] = useState({loading: true, data:[]}) //USER PREVIOUS CARDS const [currentPage, setCurrentPage] = useState(0); const indexOfFirstItem = Number(currentPage); const indexOfLastItem = Number(indexOfFirstItem)+Number(process.env.REACT_APP_ITEM_PER_PAGE); const currentPreviousCards = payListCard?.data?.slice(indexOfFirstItem, indexOfLastItem); const handlePagination = (e) => { handlePagingFunc(e,setCurrentPage) } // FUNCTION TO SUBMIT const handleSubmit = (values, helpers) => { props.setInputError('') if(!props.input || props.input == '0'){ props.setInputError('Please Enter Amount') return setTimeout(()=>{props.setInputError('')}, 5000) } if(isNaN(props.input)){ props.setInputError('Amount must be a Number') return setTimeout(()=>{props.setInputError('')}, 5000) } if(tab == 'previous'){ const stateData = {amount: Number(props.input), currency: 'dollars'} navigate('confirm-add-fund', {state: stateData}) // State will change later dummy for now } if(tab == 'new'){ const stateData = {amount: Number(props.input), currency: 'dollars', ...values} navigate('confirm-add-fund', {state: stateData}) // State will change later dummy for now } props.setInput('') } useEffect(()=>{ apiCall.payListCard().then(res => { setPayListCard({loading: false, data: res.data.result_list}) }).catch(err => { console.log('PAYCARDLIST ERROR', err) setPayListCard({loading: false, data: []}) }) }, []) return ( <>
{item.description} CardBank **************{item.digits} {item.added} Verified |
No Previous Card Found!