import React, { PropTypes } from 'react'; import { Button, Input, Col, Panel, Row, Well } from 'react-bootstrap'; import { contain } from 'thundercats-react'; // real paypal buttons // will take your money const paypalIds = { regular: 'Q8Z82ZLAX3Q8N', highlighted: 'VC8QPSKCYMZLN' }; export default contain( { store: 'appStore', actions: [ 'jobActions', 'appActions' ], map({ jobsApp: { currentJob: { id, isHighlighted } = {}, buttonId = isHighlighted ? paypalIds.highlighted : paypalIds.regular, price = 1000, discountAmount = 0, promoCode = '', promoApplied = false, promoName = '' }}) { return { id, isHighlighted, buttonId, price, discountAmount, promoName, promoCode, promoApplied }; } }, React.createClass({ displayName: 'GoToPayPal', propTypes: { appActions: PropTypes.object, id: PropTypes.string, isHighlighted: PropTypes.bool, buttonId: PropTypes.string, price: PropTypes.number, discountAmount: PropTypes.number, promoName: PropTypes.string, promoCode: PropTypes.string, promoApplied: PropTypes.bool, jobActions: PropTypes.object }, goToJobBoard() { const { appActions } = this.props; appActions.goTo('/jobs'); }, renderDiscount(discountAmount) { if (!discountAmount) { return null; } return (

Promo Discount

-{ discountAmount }

); }, renderHighlightPrice(isHighlighted) { if (!isHighlighted) { return null; } return (

Highlighting

+ 250

); }, renderPromo() { const { id, promoApplied, promoCode, promoName, isHighlighted, jobActions } = this.props; if (promoApplied) { return (
{ promoName } applied
); } return (
Have a promo code?
); }, render() { const { id, isHighlighted, buttonId, price, discountAmount } = this.props; return (

One more step

You're Awesome! just one more step to go. Clicking on the link below will redirect to paypal.

Job Posting

+ { price }

{ this.renderHighlightPrice(isHighlighted) } { this.renderDiscount(discountAmount) }

Total

${ price - discountAmount + (isHighlighted ? 250 : 0) }

{ this.renderPromo() }
An array of credit cards
); } }) );