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 / Blocks / CampaignCover / edit.tsx
give / src / Campaigns / Blocks / CampaignCover Last commit date
Icon.tsx 1 year ago block.json 1 year ago edit.tsx 1 year ago editor.scss 1 year ago index.tsx 1 year ago render.php 1 year ago
edit.tsx
92 lines
1 import {InspectorControls, useBlockProps} from '@wordpress/block-editor';
2 import {__} from '@wordpress/i18n';
3 import {useSelect} from '@wordpress/data';
4 import {external} from '@wordpress/icons';
5 import {BaseControl, Icon, PanelBody, Placeholder, TextareaControl} from '@wordpress/components';
6 import {BlockEditProps} from '@wordpress/blocks';
7 import CampaignSelector from '../shared/components/CampaignSelector';
8 import useCampaign from '../shared/hooks/useCampaign';
9 import {GalleryIcon} from "./Icon";
10
11 import './editor.scss';
12
13 interface EditProps extends BlockEditProps<{
14 campaignId: number;
15 alt: string;
16 width: number;
17 height: number;
18 align: string;
19 }> {
20 toggleSelection: (isSelected: boolean) => void;
21 }
22
23 export default function Edit({attributes, setAttributes, toggleSelection}: EditProps) {
24 const blockProps = useBlockProps();
25 const {campaign, hasResolved} = useCampaign(attributes.campaignId);
26
27 const adminBaseUrl = useSelect(
28 // @ts-ignore
29 (select) => select('core').getSite()?.url + '/wp-admin/edit.php?post_type=give_forms&page=give-campaigns',
30 []
31 );
32 const editCampaignUrl = `${adminBaseUrl}&id=${attributes.campaignId}&tab=settings`;
33
34 return (
35 <figure {...blockProps}>
36 <CampaignSelector
37 campaignId={attributes.campaignId}
38 handleSelect={(campaignId: number) => setAttributes({campaignId})}
39 >
40
41 {hasResolved && campaign?.image ? (
42 <img
43 className={'givewp-campaign-cover-block-preview__image'}
44 src={campaign?.image}
45 alt={attributes.alt ?? __('Campaign Image', 'give')}
46 />
47 ) : (
48 <Placeholder
49 icon={<GalleryIcon />}
50 label={__('Campaign Cover Image', 'give')}
51 instructions={__('Upload a cover image for your campaign.', 'give')}
52 />
53 )}
54 </CampaignSelector>
55
56 {hasResolved && campaign && (
57 <InspectorControls>
58 <PanelBody title="Settings" initialOpen={true}>
59 <BaseControl label={__('Cover', 'give')} id="givewp-campaign-cover-block__title-field">
60 {campaign?.image && (
61 <img
62 className={'givewp-campaign-cover-block__image'}
63 src={campaign?.image}
64 alt={attributes.alt ?? __('Campaign Cover image', 'give')}
65 />
66 )}
67 <p className={'givewp-campaign-cover-block__help-text'}>
68 {__('Shows the cover image of the campaign.', 'give')}
69 </p>
70 <a
71 href={editCampaignUrl}
72 target="_blank"
73 rel="noopener noreferrer"
74 className="givewp-campaign-cover-block__edit-campaign-link"
75 aria-label={__('Edit campaign settings in a new tab', 'give')}
76 >
77 {__('Change campaign cover', 'give')}
78 <Icon icon={external} />
79 </a>
80 </BaseControl>
81 <TextareaControl
82 label={__('Alternative text', 'give')}
83 value={attributes.alt}
84 onChange={(value: string) => setAttributes({alt: value})}
85 />
86 </PanelBody>
87 </InspectorControls>
88 )}
89 </figure>
90 );
91 }
92