diff --git a/src/Components/Modals/PaymentModal.js b/src/Components/Modals/PaymentModal.js index c86c2a6..97ff661 100644 --- a/src/Components/Modals/PaymentModal.js +++ b/src/Components/Modals/PaymentModal.js @@ -3,6 +3,17 @@ import Button from "../../pageElements/Button"; import Modal from "react-bootstrap/Modal"; import TextInput from "../../pageElements/TextInput"; import { db } from "../../firebase"; +import { paymentfields } from "../../Constants/Fields/Signupfields"; +import { splitEvery } from "../../Utils/Array"; +import Col from "react-bootstrap/Col"; +import Form from "react-bootstrap/Form"; +import Row from "react-bootstrap/Row"; +import { + getFormDataDefaults, + getValidatedFormData, + handleFormDataChange, + isFormDataHasErrors, +} from "../../Utils/Form"; const PaymentModal = ({ onCancel, @@ -11,7 +22,37 @@ const PaymentModal = ({ modalText, isBusy, setCardNumber, + handleChangeInput, }) => { + const fieldsChunkSize = 2; + + const ModalForm = () => { + return splitEvery( + Object.keys(paymentfields).slice(0, -2), + fieldsChunkSize + ).map((names, j) => ( + + {names.map((name, i) => ( + + handleChangeInput(e, name)} + error={data[name].error} + message={data[name].message} + label={ + data[name].value.length === 0 ? signupfields[name].label : "" + } + type={signupfields[name].type} + values={signupfields[name].values} + disabled={isBusy} + /> + + ))} + + )); + }; + return ( @@ -19,16 +60,9 @@ const PaymentModal = ({ {modalText} -
- setCardNumber(e.target.value)} - label={"Card Number"} - /> -
+
+ +