PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.24.1
GiveWP – Donation Plugin and Fundraising Platform v2.24.1
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 / Promotions / InPluginUpsells / resources / js / components / AddonsAdminPage.js
give / src / Promotions / InPluginUpsells / resources / js / components Last commit date
AdditionalAddonCard.js 4 years ago AdditionalAddonCard.module.css 4 years ago AdditionalAddons.js 4 years ago AdditionalAddons.module.css 4 years ago AddonsAdminPage.js 4 years ago AddonsAdminPage.module.css 4 years ago Button.js 4 years ago Button.module.css 4 years ago Card.js 4 years ago Card.module.css 4 years ago FreeAddOnTab.js 4 years ago FreeAddOnTab.module.css 4 years ago Hero.js 4 years ago Hero.module.css 4 years ago MustHaveAddonCard.js 4 years ago MustHaveAddonCard.module.css 4 years ago MustHaveAddons.js 4 years ago MustHaveAddons.module.css 4 years ago PricingPlanCard.js 4 years ago PricingPlanCard.module.css 4 years ago PricingPlans.js 4 years ago PricingPlans.module.css 4 years ago RecurringDonationsTab.js 4 years ago RecurringDonationsTab.module.scss 4 years ago
AddonsAdminPage.js
83 lines
1 import {useMemo, useState} from 'react';
2 import {Tabs, TabList, Tab, TabPanels, TabPanel} from '@reach/tabs';
3 import {__, sprintf} from '@wordpress/i18n';
4
5 import {MustHaveAddons} from './MustHaveAddons';
6 import {AdditionalAddons} from './AdditionalAddons';
7 import {PricingPlans} from './PricingPlans';
8 import {FreeAddOnTab} from './FreeAddOnTab';
9 import {assetUrl} from '../utils';
10 import styles from './AddonsAdminPage.module.css';
11
12 export function AddonsAdminPage({startingTab = 0}) {
13 // We control the tabs only so we can use `tabIndex` to change the decor.
14 const [tabIndex, setTabIndex] = useState(startingTab);
15 const addonDecorAssets = useMemo(
16 () =>
17 [
18 'images/addons-admin-page-decor-1.png',
19 'images/addons-admin-page-decor-2.png',
20 'images/addons-admin-page-decor-3.png',
21 'images/addons-admin-page-decor-4.png',
22 ].map(assetUrl),
23 []
24 );
25
26 return (
27 <Tabs
28 as="article"
29 style={{'--decor': `url("${addonDecorAssets[tabIndex]}")`}}
30 className={styles.root}
31 index={tabIndex}
32 onChange={setTabIndex}
33 >
34 <div className={styles.header}>
35 <div className={styles.container}>
36 <h1>
37 <a href="https://givewp.com" target="_blank" rel="noopener">
38 <img
39 className={styles.logo}
40 src={assetUrl('images/givewp-logo.png')}
41 alt={__('GiveWP', 'give')}
42 />
43 </a>
44 </h1>
45 <aside
46 className={styles.sourceNotice}
47 dangerouslySetInnerHTML={{
48 __html: sprintf(
49 /* translators: 1: Text before anchor html tag 2: Open anchor html tag 3: Website name 4: Close anchor tag*/
50 '%1$s %2$s%3$s%4$s',
51 __('This page is loaded from', 'give'),
52 '<a href="https://givewp.com" rel="noopener" target="_blank">',
53 __('GiveWP.com', 'give'),
54 '</a>'
55 ),
56 }}
57 />
58 <TabList className={styles.tabs}>
59 <Tab>{__('Must Have Add-ons', 'give')}</Tab>
60 <Tab>{__('View Pricing Plans', 'give')}</Tab>
61 <Tab>{__('Additional Add-ons', 'give')}</Tab>
62 <Tab>{__('Get a Free Add-on!', 'give')}</Tab>
63 </TabList>
64 </div>
65 </div>
66 <TabPanels className={styles.container}>
67 <TabPanel>
68 <MustHaveAddons/>
69 </TabPanel>
70 <TabPanel>
71 <PricingPlans/>
72 </TabPanel>
73 <TabPanel>
74 <AdditionalAddons/>
75 </TabPanel>
76 <TabPanel>
77 <FreeAddOnTab/>
78 </TabPanel>
79 </TabPanels>
80 </Tabs>
81 );
82 }
83