payment-method-toggle.tsx 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { useTranslation } from 'react-i18next'
  2. import { FormGroup, ControlLabel, Col } from 'react-bootstrap'
  3. import Icon from '../../../../../shared/components/icon'
  4. type PaymentMethodToggleProps = {
  5. onChange: (e: React.ChangeEvent<HTMLInputElement>) => void
  6. paymentMethod: string
  7. }
  8. function PaymentMethodToggle(props: PaymentMethodToggleProps) {
  9. const { t } = useTranslation()
  10. return (
  11. <FormGroup className="payment-method-toggle">
  12. <hr className="thin" />
  13. <div className="radio">
  14. <Col xs={8}>
  15. <ControlLabel>
  16. <input
  17. type="radio"
  18. name="payment_method"
  19. value="credit_card"
  20. onChange={props.onChange}
  21. checked={props.paymentMethod === 'credit_card'}
  22. />
  23. <strong>
  24. {t('card_payment')}&nbsp;
  25. <span className="hidden-xs">
  26. <Icon type="cc-visa" /> <Icon type="cc-mastercard" />{' '}
  27. <Icon type="cc-amex" />
  28. </span>
  29. </strong>
  30. </ControlLabel>
  31. </Col>
  32. <Col xs={4}>
  33. <ControlLabel>
  34. <input
  35. type="radio"
  36. name="payment_method"
  37. value="paypal"
  38. onChange={props.onChange}
  39. checked={props.paymentMethod === 'paypal'}
  40. />
  41. <strong>
  42. PayPal&nbsp;
  43. <span className="hidden-xs">
  44. <Icon type="cc-paypal" />
  45. </span>
  46. </strong>
  47. </ControlLabel>
  48. </Col>
  49. </div>
  50. </FormGroup>
  51. )
  52. }
  53. export default PaymentMethodToggle