import { makeStyles } from '@material-ui/core/styles' import { Form, Formik, Field } from 'formik' import * as R from 'ramda' import React from 'react' import * as Yup from 'yup' import ErrorMessage from 'src/components/ErrorMessage' import Modal from 'src/components/Modal' import { Tooltip } from 'src/components/Tooltip' import { Button } from 'src/components/buttons' import { TextInput, NumberInput } from 'src/components/inputs/formik' import { H3, TL1, P } from 'src/components/typography' import styles from './PromoCodes.styles' const useStyles = makeStyles(styles) const initialValues = { code: '', discount: '' } const validationSchema = Yup.object().shape({ code: Yup.string() .required() .trim() .max(25), discount: Yup.number() .required() .min(0) .max(100) }) const PromoCodesModal = ({ showModal, onClose, errorMsg, addCode }) => { const classes = useStyles() const handleAddCode = (code, discount) => { addCode(R.toUpper(code), parseInt(discount)) } return ( <> {showModal && ( { handleAddCode(code, discount) }}>

Promo code name

Define discount rate

This is a percentage discount off of your existing commission rates for a customer entering this code at the machine.

For instance, if you charge 8% commissions, and this code is set for 50%, then you'll instead be charging 4% on transactions using the code.

%
{errorMsg && {errorMsg}}
)} ) } export default PromoCodesModal