import { makeStyles } from '@material-ui/core/styles' import * as R from 'ramda' import React, { useState } from 'react' 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/base' import { H1, H3, TL1, P } from 'src/components/typography' import styles from './CouponCodes.styles' const useStyles = makeStyles(styles) const CouponCodesModal = ({ showModal, toggleModal, addCoupon }) => { const classes = useStyles() const [codeField, setCodeField] = useState('') const [discountField, setDiscountField] = useState('') const [invalidCode, setInvalidCode] = useState(false) const [invalidDiscount, setInvalidDiscount] = useState(false) const handleCodeChange = event => { if (event.target.value === '') { setInvalidCode(false) } setCodeField(event.target.value) } const handleDiscountChange = event => { if (event.target.value === '') { setInvalidDiscount(false) } setDiscountField(event.target.value) } const handleClose = () => { setCodeField('') setDiscountField('') setInvalidCode(false) setInvalidDiscount(false) toggleModal() } const handleAddCoupon = () => { if (codeField.trim() === '') { setInvalidCode(true) return } if (!validDiscount(discountField)) { setInvalidDiscount(true) return } if (codeField.trim() !== '' && validDiscount(discountField)) { addCoupon(R.toUpper(codeField.trim()), parseInt(discountField)) handleClose() } } const validDiscount = discount => { const parsedDiscount = parseInt(discount) return parsedDiscount >= 0 && parsedDiscount <= 100 } return ( <> {showModal && (

Add coupon code discount

Coupon code name

Define discount rate

The discount rate inserted will be applied to the commissions of all transactions performed with this respective coupon code.

(It should be a number between 0 (zero) and 100 (one hundred)).

%
)} ) } export default CouponCodesModal