PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6
GiveWP – Donation Plugin and Fundraising Platform v4.16.6
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / DonorDashboards / resources / js / app / components / subscription-row / index.tsx
give / src / DonorDashboards / resources / js / app / components / subscription-row Last commit date
index.tsx 6 months ago style.scss 6 months ago
index.tsx
99 lines
1 import {useState} from 'react';
2 import {useHistory} from 'react-router-dom';
3 import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
4 import {__} from '@wordpress/i18n';
5
6 import {useWindowSize} from '../../hooks';
7 import SubscriptionCancelModal from '../subscription-cancel-modal';
8
9 import './style.scss';
10
11 const SubscriptionRow = ({subscription}) => {
12 const [isCancelModalOpen, setIsCancelModalOpen] = useState<boolean>(false);
13 const history = useHistory();
14
15 const {width} = useWindowSize();
16 const {id, payment, form, gateway} = subscription;
17
18 const gatewayCanUpdateSubscription = gateway.can_update || gateway.can_update_payment_method;
19
20 return (
21 <div className="give-donor-dashboard-table__row">
22 <div className="give-donor-dashboard-table__column">
23 {width < 920 && <div className="give-donor-dashboard-table__mobile-header">{__('Amount', 'give')}</div>}
24 <div className="give-donor-dashboard-table__donation-amount">
25 {payment.amount.formatted} / {payment.frequency}
26 </div>
27 {form.title}
28 </div>
29 <div className="give-donor-dashboard-table__column">
30 {width < 920 && <div className="give-donor-dashboard-table__mobile-header">{__('Status', 'give')}</div>}
31 <div className="give-donor-dashboard-table__donation-status">
32 <div
33 className="give-donor-dashboard-table__donation-status-indicator"
34 style={{background: payment.status.color}}
35 />
36 <div className="give-donor-dashboard-table__donation-status-label">{payment.status.label}</div>
37 </div>
38 </div>
39 <div className="give-donor-dashboard-table__column">
40 {width < 920 && (
41 <div className="give-donor-dashboard-table__mobile-header">{__('Next Renewal', 'give')}</div>
42 )}
43 {payment.renewalDate}
44 </div>
45 <div className="give-donor-dashboard-table__column">
46 {width < 920 && (
47 <div className="give-donor-dashboard-table__mobile-header">{__('Progress', 'give')}</div>
48 )}
49 {payment.progress}
50 </div>
51 <div className="give-donor-dashboard-table__pill">
52 <div className="give-donor-dashboard-table__donation-id">ID: {payment.serialCode}</div>
53 <div className="give-donor-dashboard-table__donation-receipt">
54 <button
55 className="give-donor-dashboard-table__donation-receipt-button"
56 onClick={() => history.push(`/recurring-donations/receipt/${id}`)}
57 type="button"
58 >
59 {__('View Subscription', 'give')} <FontAwesomeIcon icon="arrow-right" />
60 </button>
61 </div>
62 {gatewayCanUpdateSubscription && (
63 <div className="give-donor-dashboard-table__donation-receipt">
64 <button
65 className="give-donor-dashboard-table__donation-receipt-button"
66 onClick={() => history.push(`/recurring-donations/manage/${id}`)}
67 type="button"
68 >
69 {__('Manage Subscription', 'give')} <FontAwesomeIcon icon="arrow-right" />
70 </button>
71 </div>
72 )}
73 {gateway.can_cancel && !gatewayCanUpdateSubscription && (
74 <>
75 {isCancelModalOpen && (
76 <SubscriptionCancelModal
77 id={id}
78 isOpen={isCancelModalOpen}
79 toggleModal={() => setIsCancelModalOpen(!isCancelModalOpen)}
80 />
81 )}
82 <div className="give-donor-dashboard-table__donation-receipt">
83 <button
84 className={'give-donor-dashboard-table__donation-receipt__cancel'}
85 onClick={() => setIsCancelModalOpen(true)}
86 type="button"
87 >
88 {__('Cancel Subscription', 'give')}
89 </button>
90 </div>
91 </>
92 )}
93 </div>
94 </div>
95 );
96 };
97
98 export default SubscriptionRow;
99