PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.12.0
GiveWP – Donation Plugin and Fundraising Platform v4.12.0
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 / DonationForms / resources / app / form / Header.tsx
give / src / DonationForms / resources / app / form Last commit date
MultiStepForm 1 year ago Form.tsx 2 years ago Header.tsx 1 year ago Section.tsx 2 years ago
Header.tsx
73 lines
1 import {useCallback} from 'react';
2 import {withTemplateWrapper} from '../templates';
3 import type {GoalType} from '@givewp/forms/propTypes';
4 import amountFormatter from '@givewp/forms/app/utilities/amountFormatter';
5 import DonationFormErrorBoundary from '@givewp/forms/app/errors/boundaries/DonationFormErrorBoundary';
6 import type {Form as DonationForm} from '@givewp/forms/types';
7
8 const formTemplates = window.givewp.form.templates;
9
10 const HeaderTemplate = withTemplateWrapper(formTemplates.layouts.header);
11 const HeaderTitleTemplate = withTemplateWrapper(formTemplates.layouts.headerTitle);
12 const HeaderDescriptionTemplate = withTemplateWrapper(formTemplates.layouts.headerDescription);
13 const GoalTemplate = withTemplateWrapper(formTemplates.layouts.goal);
14
15 const HeaderImageTemplate = withTemplateWrapper(formTemplates.layouts.headerImage);
16
17 /**
18 * @since 3.0.0
19 */
20 export default function Header({form}: {form: DonationForm}) {
21 const formatGoalAmount = useCallback((amount: number) => {
22 return amountFormatter(form.currency).format(amount);
23 }, []);
24
25 return (
26 <DonationFormErrorBoundary>
27 <HeaderTemplate
28 isMultiStep={form.design?.isMultiStep}
29 HeaderImage={() =>
30 form.settings?.designSettingsImageUrl && (
31 <HeaderImageTemplate
32 url={form.settings?.designSettingsImageUrl}
33 alt={form.settings?.designSettingsImageAlt || form.settings?.formTitle}
34 color={form.settings?.designSettingsImageColor}
35 opacity={form.settings?.designSettingsImageOpacity}
36 />
37 )
38 }
39 Title={() => form.settings?.showHeading && <HeaderTitleTemplate text={form.settings.heading} />}
40 Description={() =>
41 form.settings?.showDescription && <HeaderDescriptionTemplate text={form.settings.description} />
42 }
43 Goal={() =>
44 form.goal?.show && (
45 <GoalTemplate
46 currency={form.currency}
47 type={form.goal.type as GoalType}
48 goalLabel={form.goal.label}
49 progressPercentage={Math.round((form.goal.currentAmount / form.goal.targetAmount) * 100)}
50 currentAmount={form.goal.currentAmount}
51 currentAmountFormatted={
52 form.goal.typeIsMoney
53 ? formatGoalAmount(form.goal.currentAmount)
54 : form.goal.currentAmount.toString()
55 }
56 targetAmount={form.goal.targetAmount}
57 targetAmountFormatted={
58 form.goal.typeIsMoney
59 ? formatGoalAmount(form.goal.targetAmount)
60 : form.goal.targetAmount.toString()
61 }
62 totalRevenue={form.stats.totalRevenue}
63 totalRevenueFormatted={formatGoalAmount(form.stats.totalRevenue)}
64 totalCountValue={form.stats.totalCountValue}
65 totalCountLabel={form.stats.totalCountLabel}
66 />
67 )
68 }
69 />
70 </DonationFormErrorBoundary>
71 );
72 }
73