PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.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 / DonorDashboards / resources / js / app / components / avatar-control / index.js
give / src / DonorDashboards / resources / js / app / components / avatar-control Last commit date
index.js 4 years ago style.scss 4 years ago
index.js
62 lines
1 import {useCallback, useState, useEffect} from 'react';
2 import {__} from '@wordpress/i18n';
3 import {useDropzone} from 'react-dropzone';
4
5 import './style.scss';
6
7 const AvatarControl = ({url, file, onChange}) => {
8 const onDrop = useCallback((acceptedFiles) => {
9 onChange(acceptedFiles[0]);
10 }, []);
11
12 const {getRootProps, getInputProps, isDragActive} = useDropzone({
13 onDrop,
14 accept: 'image/jpeg, image/png, image/gif',
15 maxFiles: 1,
16 });
17 const [previewSrc, setPreviewSrc] = useState(url);
18
19 useEffect(() => {
20 if (file) {
21 const reader = new window.FileReader();
22 reader.readAsDataURL(file);
23 reader.onloadend = function () {
24 setPreviewSrc(reader.result);
25 };
26 }
27 }, [file]);
28
29 return (
30 <div className="give-donor-dashboard-avatar-control">
31 <label className="give-donor-dashboard-avatar-control__label">{__('Avatar', 'give')}</label>
32 <div className="give-donor-dashboard-avatar-control__input" {...getRootProps()}>
33 <input {...getInputProps()} />
34 <div className="give-donor-dashboard-avatar-control__preview">
35 <img src={previewSrc}/>
36 </div>
37 <div
38 className={`give-donor-dashboard-avatar-control__dropzone${
39 isDragActive ? ' give-donor-dashboard-avatar-control__dropzone--highlight' : ''
40 }`}
41 >
42 <div className="give-donor-dashboard-avatar-control__instructions">
43 {isDragActive ? (
44 <p>{__('Drop the image here...', 'give')}</p>
45 ) : (
46 <p>
47 {__('Drag image here to set', 'give')} <br/>
48 {__('avatar or', 'give')}{' '}
49 <span className="give-donor-dashboard-avatar-control__select-link">
50 {__('find image', 'give')}
51 </span>
52 </p>
53 )}
54 </div>
55 </div>
56 </div>
57 </div>
58 );
59 };
60
61 export default AvatarControl;
62