import ModalDialog from '@givewp/components/AdminUI/ModalDialog';
import {useState} from 'react';
import {DismissIcon, StarIcon} from './icons';
import {getGiveCampaignsListTableWindowData} from '@givewp/campaigns/admin/components/CampaignsListTable';
import {__} from '@wordpress/i18n';
import {StepDetails} from '@givewp/campaigns/admin/components/ExistingUserIntroModal/StepDetails';
import styles from './ExistingUserIntroModal.module.scss';
import {updateUserNoticeOptions} from '@givewp/campaigns/utils';
/**
* @since 4.0.0
*/
export type stepConfig = {
title: string;
description: string;
buttonText: string;
linkText?: string;
badge?: () => JSX.Element;
};
const stepsConfig: stepConfig[] = [
{
badge: () => (
{__('NEW', 'give')}
),
title: __('Introducing Campaigns', 'give'),
description: __(
'We’ve reimagined your online fundraising. Now, you can build a campaign page, track, and optimize entire fundraising campaigns with just a few steps.',
'give'
),
buttonText: __('Next', 'give'),
},
{
title: __('Empowering your fundraising efforts', 'give'),
description: __(
'Add multiple donation forms, update your campaign on the go, and get tailored performance reports — all in one place.',
'give'
),
linkText: __('Read more on campaigns', 'give'),
buttonText: __('Continue', 'give'),
},
];
/**
* @since 4.0.0
*/
type ExisingUserIntroModalProps = {
isOpen: boolean;
setOpen: (value: boolean) => void;
};
export default function ExistingUserIntroModal({isOpen, setOpen}: ExisingUserIntroModalProps) {
const [step, setStep] = useState(0);
const stepConfig = stepsConfig[step];
const handleClose = async () => {
setStep(0);
setOpen(false);
updateUserNoticeOptions('givewp_campaign_existing_user_intro_notice');
};
const handleNextStep = () => {
if (step >= stepsConfig.length - 1) {
handleClose();
} else {
setStep((prevStep) => prevStep + 1);
}
};
return (
{stepConfig && }
);
}