PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.25
Advanced Ads – Ad Manager & AdSense v2.0.25
2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / assets / src / screen-onboarding / steps / BannerAd.jsx
advanced-ads / assets / src / screen-onboarding / steps Last commit date
BannerAd.jsx 1 year ago CodeAd.jsx 1 year ago Congrats.jsx 1 year ago GoogleAdsense.jsx 1 year ago Step1.jsx 1 year ago
BannerAd.jsx
111 lines
1 /**
2 * External Dependencies
3 */
4 import { wizard } from '@advancedAds/i18n';
5 import { useEffect } from '@wordpress/element';
6
7 /**
8 * Internal Dependencies
9 */
10 import StepFooter from '../StepFooter';
11
12 export default function BannerAd({ options, setOptions }) {
13 let fileFrame = null;
14
15 const handleUpload = (event) => {
16 event.preventDefault();
17
18 if (fileFrame) {
19 fileFrame.uploader.uploader.param('post_id', 0);
20 fileFrame.open();
21 return;
22 }
23
24 fileFrame = wp.media.frames.file_frame = wp.media({
25 title: wizard.bannerAd.mediaFrameTitle,
26 button: {
27 text: wizard.bannerAd.mediaFrameButton,
28 },
29 multiple: false,
30 });
31
32 fileFrame.on('select', () => {
33 const attachment = fileFrame
34 .state()
35 .get('selection')
36 .first()
37 .toJSON();
38
39 setOptions('adImage', attachment);
40 });
41
42 fileFrame.open();
43 };
44
45 useEffect(() => {
46 if (options.adImage) {
47 const fileName = options.adImage.url.split('/').pop();
48 const maxWidth = 250;
49 const textP = document.createElement('p');
50 textP.style.visibility = 'hidden';
51 textP.style.whiteSpace = 'nowrap';
52 textP.style.position = 'absolute';
53 textP.innerText = fileName;
54 document.body.appendChild(textP);
55 const isTextLong = textP.offsetWidth > maxWidth;
56 document.body.removeChild(textP);
57
58 setOptions('isTextLong', isTextLong);
59 }
60 }, [options.adImage]);
61
62 return (
63 <>
64 <h1 className={`!mt-0 ${options.adImage ? 'text-gray-300' : ''}`}>
65 {wizard.stepTitles.adImage}
66 </h1>
67 {options.adImage ? (
68 <div className="space-y-4">
69 <div className="flex items-center gap-5">
70 <button
71 className="button-onboarding button-onboarding--gray"
72 onClick={handleUpload}
73 >
74 {wizard.bannerAd.mediaBtnReplace}
75 </button>
76 <div
77 className={`file-name-rtl m-0 ${options.isTextLong ? 'truncate' : ''}`}
78 >
79 <p>{options.adImage.url.split('/').pop()}</p>
80 </div>
81 <span className="dashicons dashicons-yes-alt flex items-center justify-center text-4xl w-9 h-9 text-primary"></span>
82 </div>
83 <div>
84 <h2>{wizard.bannerAd.stepHeading}</h2>
85 <input
86 type="url"
87 name="ad_image_url"
88 id="ad_image_url"
89 className="advads-input-text"
90 placeholder={wizard.bannerAd.inputPlaceholder}
91 onChange={(event) =>
92 setOptions('adImageUrl', event.target.value)
93 }
94 />
95 </div>
96 </div>
97 ) : (
98 <button className="button-onboarding" onClick={handleUpload}>
99 {wizard.bannerAd.mediaBtnUpload}
100 </button>
101 )}
102 <StepFooter
103 isEnabled={options.adImage}
104 enableText={wizard.bannerAd.footerEnableText}
105 disableText={wizard.bannerAd.footerDisableText}
106 onNext={() => {}}
107 />
108 </>
109 );
110 }
111