PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.4.2
GiveWP – Donation Plugin and Fundraising Platform v3.4.2
4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 2 years ago Form.tsx 2 years ago Header.tsx 2 years ago Section.tsx 2 years ago
Header.tsx
67 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
7 const formTemplates = window.givewp.form.templates;
8
9 const HeaderTemplate = withTemplateWrapper(formTemplates.layouts.header);
10 const HeaderTitleTemplate = withTemplateWrapper(formTemplates.layouts.headerTitle);
11 const HeaderDescriptionTemplate = withTemplateWrapper(formTemplates.layouts.headerDescription);
12 const GoalTemplate = withTemplateWrapper(formTemplates.layouts.goal);
13
14 const headerTextWrapperTemplate = formTemplates.layouts.headerTextWrapper;
15
16
17
18 /**
19 * @since 3.0.0
20 */
21 export default function Header({form}) {
22
23 const formatGoalAmount = useCallback((amount: number) => {
24 return amountFormatter(form.currency, {
25 maximumFractionDigits: 0,
26 }).format(amount);
27 }, []);
28
29 return (
30 <DonationFormErrorBoundary>
31 <HeaderTemplate
32 TextWrapper={headerTextWrapperTemplate}
33 Title={() => form.settings?.showHeading && <HeaderTitleTemplate text={form.settings.heading} />}
34 Description={() =>
35 form.settings?.showDescription && <HeaderDescriptionTemplate text={form.settings.description} />
36 }
37 Goal={() =>
38 form.goal?.show && (
39 <GoalTemplate
40 currency={form.currency}
41 type={form.goal.type as GoalType}
42 goalLabel={form.goal.label}
43 progressPercentage={Math.round((form.goal.currentAmount / form.goal.targetAmount) * 100)}
44 currentAmount={form.goal.currentAmount}
45 currentAmountFormatted={
46 form.goal.typeIsMoney
47 ? formatGoalAmount(form.goal.currentAmount)
48 : form.goal.currentAmount.toString()
49 }
50 targetAmount={form.goal.targetAmount}
51 targetAmountFormatted={
52 form.goal.typeIsMoney
53 ? formatGoalAmount(form.goal.targetAmount)
54 : form.goal.targetAmount.toString()
55 }
56 totalRevenue={form.stats.totalRevenue}
57 totalRevenueFormatted={formatGoalAmount(form.stats.totalRevenue)}
58 totalCountValue={form.stats.totalCountValue}
59 totalCountLabel={form.stats.totalCountLabel}
60 />
61 )
62 }
63 />
64 </DonationFormErrorBoundary>
65 );
66 }
67