import { Box, Button, Card, TextField } from '@mui/material'; import { useFormik } from 'formik'; import { useTranslation } from 'next-i18next'; import { useRouter } from 'next/router'; import { useState } from 'react'; import { registerSchema } from '../../../schemas/shippingDetailsSchema'; import { useUserData } from '../../../store/user-context'; import ErrorMessageComponent from '../../mui/ErrorMessageComponent'; const ShippingDetailsForm = ({ backBtn = false, isCheckout = false, submitHandler, enableBtn = true, }) => { const { t } = useTranslation('addressForm'); const [error] = useState({ hasError: false, errorMessage: '' }); const { userStorage } = useUserData(); const router = useRouter(); const formikSubmitHandler = async (values) => { submitHandler(values); }; const formik = useFormik({ initialValues: { fullName: userStorage ? userStorage.fullName : '', address: userStorage ? userStorage.address : '', address2: userStorage ? userStorage.address2 : '', city: userStorage ? userStorage.city : '', country: userStorage ? userStorage.country : '', postcode: userStorage ? userStorage.postcode : '', }, validationSchema: registerSchema, onSubmit: formikSubmitHandler, validateOnBlur: true, enableReinitialize: true, }); return ( {error.hasError && } {backBtn && ( )} ); }; export default ShippingDetailsForm;