import {__} from '@wordpress/i18n'; import {useFormContext} from 'react-hook-form'; import {Upload} from '../../Inputs'; import styles from '../CampaignDetailsPage.module.scss'; import {getCampaignOptionsWindowData} from '@givewp/campaigns/utils'; import ColorControl from '@givewp/campaigns/admin/components/CampaignDetailsPage/Components/ColorControl'; import TextareaControl from '@givewp/campaigns/admin/components/CampaignDetailsPage/Components/TextareaControl'; import {CurrencyControl} from '@givewp/form-builder-library'; import type {CurrencyCode} from '@givewp/form-builder-library/build/CurrencyControl/CurrencyCode'; import {CampaignGoalInputAttributes} from '@givewp/campaigns/admin/constants/goalInputAttributes'; import CampaignNotice from '@givewp/campaigns/admin/components/CampaignDetailsPage/Components/Notices/CampaignNotice'; import {useCampaignNoticeHook} from '@givewp/campaigns/hooks'; import AdminSection, { AdminSectionField, AdminSectionsWrapper } from '@givewp/components/AdminDetailsPage/AdminSection'; const {currency, isRecurringEnabled} = getCampaignOptionsWindowData(); /** * @since 4.0.0 */ export default function CampaignDetailsSettingsTab() { const [showTooltip, dismissTooltip] = useCampaignNoticeHook('givewp_campaign_settings_notice'); const { register, watch, setValue, formState: {errors}, } = useFormContext(); const [goal, goalType, image, status, shortDescription] = watch([ 'goal', 'goalType', 'image', 'status', 'shortDescription', ]); const isDisabled = status === 'archived'; const goalInputAttributes = new CampaignGoalInputAttributes(goalType, currency); return (
{ setValue('image', coverImageUrl, {shouldDirty: true}); }} reset={() => setValue('image', '', {shouldDirty: true})} />

{__('This will be displayed in your campaign block and campaign grid.', 'give')}

{/* Campaign Goal */}
{goalInputAttributes.getHelp()}
{goalInputAttributes.isCurrencyType() ? (
{ setValue('goal', Number(value ?? 0), {shouldDirty: true}); }} />
) : ( )}
{/* Campaign Theme */} {showTooltip && ( )}
); };