PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.0
GiveWP – Donation Plugin and Fundraising Platform v4.14.0
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 1 year ago style.scss 1 year ago
index.tsx
89 lines
1 import {useState} from 'react';
2 import {Link} 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
14 const {width} = useWindowSize();
15 const {id, payment, form, gateway} = subscription;
16
17 const gatewayCanUpdateSubscription = gateway.can_update || gateway.can_update_payment_method;
18
19 return (
20 <div className="give-donor-dashboard-table__row">
21 <div className="give-donor-dashboard-table__column">
22 {width < 920 && <div className="give-donor-dashboard-table__mobile-header">{__('Amount', 'give')}</div>}
23 <div className="give-donor-dashboard-table__donation-amount">
24 {payment.amount.formatted} / {payment.frequency}
25 </div>
26 {form.title}
27 </div>
28 <div className="give-donor-dashboard-table__column">
29 {width < 920 && <div className="give-donor-dashboard-table__mobile-header">{__('Status', 'give')}</div>}
30 <div className="give-donor-dashboard-table__donation-status">
31 <div
32 className="give-donor-dashboard-table__donation-status-indicator"
33 style={{background: payment.status.color}}
34 />
35 <div className="give-donor-dashboard-table__donation-status-label">{payment.status.label}</div>
36 </div>
37 </div>
38 <div className="give-donor-dashboard-table__column">
39 {width < 920 && (
40 <div className="give-donor-dashboard-table__mobile-header">{__('Next Renewal', 'give')}</div>
41 )}
42 {payment.renewalDate}
43 </div>
44 <div className="give-donor-dashboard-table__column">
45 {width < 920 && (
46 <div className="give-donor-dashboard-table__mobile-header">{__('Progress', 'give')}</div>
47 )}
48 {payment.progress}
49 </div>
50 <div className="give-donor-dashboard-table__pill">
51 <div className="give-donor-dashboard-table__donation-id">ID: {payment.serialCode}</div>
52 <div className="give-donor-dashboard-table__donation-receipt">
53 <Link to={`/recurring-donations/receipt/${id}`}>
54 {__('View Subscription', 'give')} <FontAwesomeIcon icon="arrow-right" />
55 </Link>
56 </div>
57 {gatewayCanUpdateSubscription && (
58 <div className="give-donor-dashboard-table__donation-receipt">
59 <Link to={`/recurring-donations/manage/${id}`}>
60 {__('Manage Subscription', 'give')} <FontAwesomeIcon icon="arrow-right" />
61 </Link>
62 </div>
63 )}
64 {gateway.can_cancel && !gatewayCanUpdateSubscription && (
65 <>
66 {isCancelModalOpen && (
67 <SubscriptionCancelModal
68 id={id}
69 isOpen={isCancelModalOpen}
70 toggleModal={() => setIsCancelModalOpen(!isCancelModalOpen)}
71 />
72 )}
73 <div className="give-donor-dashboard-table__donation-receipt">
74 <a
75 className={'give-donor-dashboard-table__donation-receipt__cancel'}
76 onClick={() => setIsCancelModalOpen(true)}
77 >
78 {__('Cancel Subscription', 'give')}
79 </a>
80 </div>
81 </>
82 )}
83 </div>
84 </div>
85 );
86 };
87
88 export default SubscriptionRow;
89