PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
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 / Campaigns / resources / admin / components / ExistingUserIntroModal / index.tsx
give / src / Campaigns / resources / admin / components / ExistingUserIntroModal Last commit date
ExistingUserIntroModal.module.scss 1 year ago StepDetails.tsx 1 year ago icons.tsx 1 year ago index.tsx 1 year ago
index.tsx
102 lines
1 import ModalDialog from '@givewp/components/AdminUI/ModalDialog';
2 import {useState} from 'react';
3 import {DismissIcon, StarIcon} from './icons';
4 import {getGiveCampaignsListTableWindowData} from '@givewp/campaigns/admin/components/CampaignsListTable';
5 import {__} from '@wordpress/i18n';
6 import {StepDetails} from '@givewp/campaigns/admin/components/ExistingUserIntroModal/StepDetails';
7 import styles from './ExistingUserIntroModal.module.scss';
8 import {updateUserNoticeOptions} from '@givewp/campaigns/utils';
9
10 /**
11 * @since 4.0.0
12 */
13
14 export type stepConfig = {
15 title: string;
16 description: string;
17 buttonText: string;
18 linkText?: string;
19 badge?: () => JSX.Element;
20 };
21
22 const stepsConfig: stepConfig[] = [
23 {
24 badge: () => (
25 <div className={styles.badge}>
26 <StarIcon />
27 {__('NEW', 'give')}
28 </div>
29 ),
30 title: __('Introducing Campaigns', 'give'),
31 description: __(
32 'We’ve reimagined your online fundraising. Now, you can build a campaign page, track, and optimize entire fundraising campaigns with just a few steps.',
33 'give'
34 ),
35 buttonText: __('Next', 'give'),
36 },
37 {
38 title: __('Empowering your fundraising efforts', 'give'),
39 description: __(
40 'Add multiple donation forms, update your campaign on the go, and get tailored performance reports — all in one place.',
41 'give'
42 ),
43 linkText: __('Read more on campaigns', 'give'),
44 buttonText: __('Continue', 'give'),
45 },
46 ];
47
48 /**
49 * @since 4.0.0
50 */
51
52 type ExisingUserIntroModalProps = {
53 isOpen: boolean;
54 setOpen: (value: boolean) => void;
55 };
56
57 export default function ExistingUserIntroModal({isOpen, setOpen}: ExisingUserIntroModalProps) {
58 const [step, setStep] = useState<number>(0);
59
60 const stepConfig = stepsConfig[step];
61
62 const handleClose = async () => {
63 setStep(0);
64 setOpen(false);
65 updateUserNoticeOptions('givewp_campaign_existing_user_intro_notice');
66 };
67
68 const handleNextStep = () => {
69 if (step >= stepsConfig.length - 1) {
70 handleClose();
71 } else {
72 setStep((prevStep) => prevStep + 1);
73 }
74 };
75
76 return (
77 <ModalDialog
78 isOpen={isOpen}
79 showHeader={true}
80 handleClose={handleClose}
81 wrapperClassName={`givewp-existing-user-intro-modal ${styles.introModal}`}
82 showCloseIcon={false}
83 title={''}
84 >
85 <div className={styles.preview}>
86 <button type={'button'} className={styles.dismiss} onClick={handleClose}>
87 <DismissIcon />
88 </button>
89 <img
90 className={styles.previewImage}
91 src={`${
92 getGiveCampaignsListTableWindowData().pluginUrl
93 }/build/assets/dist/images/admin/campaigns/campaigns-cover.jpg`}
94 alt={'Campaign Preview Image'}
95 />
96 </div>
97
98 {stepConfig && <StepDetails stepConfig={stepConfig} handleClick={handleNextStep} />}
99 </ModalDialog>
100 );
101 }
102