1 | import React from 'react'
|
2 | import PropTypes from 'prop-types'
|
3 | import styled from 'styled-components'
|
4 |
|
5 | class BaseRemoveCouponCode extends React.Component {
|
6 | removePromoCode = () => {
|
7 | const { removePromotion, promotion } = this.props
|
8 | removePromotion(promotion)
|
9 | }
|
10 | render () {
|
11 | const { className, promoHasBeenApplied, loading } = this.props
|
12 | return promoHasBeenApplied
|
13 | ? <div className={className} loading={loading} onClick={this.removePromoCode}>REMOVE</div>
|
14 | : null
|
15 | }
|
16 | }
|
17 |
|
18 | BaseRemoveCouponCode.propTypes = {
|
19 | removePromotion: PropTypes.func,
|
20 | promoHasBeenApplied: PropTypes.bool,
|
21 | loading: PropTypes.bool,
|
22 | promotion: PropTypes.number,
|
23 | className: PropTypes.string
|
24 | }
|
25 |
|
26 | const RemoveCouponCode = styled(BaseRemoveCouponCode)`
|
27 | font-family: ${props => props.theme.fonts.primaryFont};
|
28 | font-size: 14px;
|
29 | font-weight: 400;
|
30 | letter-spacing: 1px;
|
31 | color: ${props => props.theme.colors.rocketBlue};
|
32 | cursor: pointer;
|
33 | opacity: ${props => props.loading ? .5 : 1};
|
34 | `
|
35 |
|
36 | export default RemoveCouponCode
|