import { Box, Button, Paper, TextField } from '@mui/material'; import { useFormik } from 'formik'; import { useSession } from 'next-auth/react'; import PropType from 'prop-types'; import { useState } from 'react'; import { shippingDetailsSchema } from '../../../schemas/shippingDetailsSchema'; import ErrorMessageComponent from '../../mui/ErrorMessageComponent'; const ShippingDetailsForm = ({ backBtn = false, isCheckout = false, submitHandler, }) => { const [error] = useState({ hasError: false, errorMessage: '' }); const { data: session } = useSession(); const formikSubmitHandler = async (values) => { console.log('hi'); submitHandler(values); }; const formik = useFormik({ initialValues: { fullName: session ? session.user.fullName : '', address: session ? session.user.address : '', address2: session ? session.user.address2 : '', city: session ? session.user.city : '', country: session ? session.user.country : '', postcode: session ? session.user.postcode : '', }, validationSchema: shippingDetailsSchema, onSubmit: formikSubmitHandler, validateOnBlur: true, enableReinitialize: true, }); return ( {error.hasError && } {backBtn && ( )} ); }; ShippingDetailsForm.propTypes = { backBtn: PropType.Boolean, isCheckout: PropType.Boolean, submitHandler: PropType.func, }; export default ShippingDetailsForm;