fix: error message

This commit is contained in:
Sérgio Salgado 2021-01-08 12:10:32 +00:00 committed by Josh Harvey
parent 9d4c4041dc
commit ac489266c6
3 changed files with 30 additions and 17 deletions

View file

@ -60,16 +60,15 @@ const Coupons = () => {
refetchQueries: () => ['coupons'] refetchQueries: () => ['coupons']
}) })
const addCoupon = async (code, discount) => { const addCoupon = (code, discount) => {
setErrorMsg(null) setErrorMsg(null)
const res = await createCoupon({ createCoupon({
variables: { code: code, discount: discount } variables: { code: code, discount: discount }
}) })
.then(res => {
if (!res.errors) { if (!res.errors) {
return setShowModal(false) return setShowModal(false)
} } else {
const duplicateCouponError = res.errors.some(e => { const duplicateCouponError = res.errors.some(e => {
return e.message.includes('duplicate') return e.message.includes('duplicate')
}) })
@ -77,6 +76,12 @@ const Coupons = () => {
if (duplicateCouponError) if (duplicateCouponError)
setErrorMsg('There is already a coupon with that code!') setErrorMsg('There is already a coupon with that code!')
} }
})
.catch(err => {
setErrorMsg('Failed to save')
console.log(err)
})
}
const elements = [ const elements = [
{ {

View file

@ -7,7 +7,9 @@ import {
const styles = { const styles = {
footer: { footer: {
margin: [['auto', 0, spacer * 3, 'auto']] display: 'flex',
flexDirection: 'row',
margin: [['auto', 0, spacer * 3, 0]]
}, },
modalLabel1: { modalLabel1: {
marginTop: 20 marginTop: 20
@ -40,6 +42,9 @@ const styles = {
display: 'flex', display: 'flex',
flexDirection: 'column', flexDirection: 'column',
height: '100%' height: '100%'
},
submit: {
margin: [['auto', 0, 0, 'auto']]
} }
} }

View file

@ -4,6 +4,7 @@ import * as R from 'ramda'
import React from 'react' import React from 'react'
import * as Yup from 'yup' import * as Yup from 'yup'
import ErrorMessage from 'src/components/ErrorMessage'
import Modal from 'src/components/Modal' import Modal from 'src/components/Modal'
import { Tooltip } from 'src/components/Tooltip' import { Tooltip } from 'src/components/Tooltip'
import { Button } from 'src/components/buttons' import { Button } from 'src/components/buttons'
@ -50,9 +51,8 @@ const CouponCodesModal = ({ showModal, onClose, errorMsg, addCoupon }) => {
<Formik <Formik
initialValues={initialValues} initialValues={initialValues}
validationSchema={validationSchema} validationSchema={validationSchema}
onSubmit={({ code, discount }, { resetForm }) => { onSubmit={({ code, discount }) => {
handleAddCoupon(code, discount) handleAddCoupon(code, discount)
resetForm()
}}> }}>
<Form id="coupon-form" className={classes.form}> <Form id="coupon-form" className={classes.form}>
<H3 className={classes.modalLabel1}>Coupon code name</H3> <H3 className={classes.modalLabel1}>Coupon code name</H3>
@ -93,9 +93,12 @@ const CouponCodesModal = ({ showModal, onClose, errorMsg, addCoupon }) => {
% %
</TL1> </TL1>
</div> </div>
<span className={classes.error}>{errorMsg}</span>
<div className={classes.footer}> <div className={classes.footer}>
<Button type="submit" form="coupon-form"> {errorMsg && <ErrorMessage>{errorMsg}</ErrorMessage>}
<Button
type="submit"
form="coupon-form"
className={classes.submit}>
Add coupon Add coupon
</Button> </Button>
</div> </div>