PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 2.0.24
Advanced Ads – Ad Manager & AdSense v2.0.24
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 / Congrats.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
Congrats.jsx
270 lines
1 /**
2 * External Dependencies
3 */
4 import { useState } from '@wordpress/element';
5 import apiFetch from '@wordpress/api-fetch';
6 import { wizard } from '@advancedAds/i18n';
7
8 /**
9 * Internal Dependencies
10 */
11 import { adminUrl } from '@utilities';
12 import Divider from '@components/Divider';
13 import Checkmark from '../../icons/Checkmark';
14 import Upgradebox from '../../icons/UpgradeBox';
15
16 function ListItem({ title = '', text, icon = false }) {
17 return (
18 <div className="flex w-full gap-x-3 items-center">
19 {icon && (
20 <div className="mt-2">
21 <Checkmark />
22 </div>
23 )}
24 <div className={`grow ${icon ? '' : 'ml-7'}`}>
25 <strong>{title}</strong> {text}
26 </div>
27 </div>
28 );
29 }
30
31 function Newsletter({ email, setEmail }) {
32 return (
33 <>
34 <h1 className="!mt-0">{wizard.newsletter.title}</h1>
35 <div className="advads-admin-notice">
36 <div className="advads-notice-box_wrapper flex gap-7 items-center">
37 <input
38 type="email"
39 id="newsletter_email"
40 className="advads-input-text"
41 placeholder={wizard.newsletter.inputPlaceholder}
42 value={email}
43 onChange={(e) => setEmail(e.target.value)}
44 style={{ minWidth: '65%', maxWidth: '65%' }}
45 />
46 <div>
47 <button
48 className="button-onboarding advads-notices-button-subscribe"
49 data-notice="nl_free_addons"
50 >
51 {wizard.newsletter.btnLabel}
52 </button>
53 </div>
54 </div>
55 </div>
56 </>
57 );
58 }
59
60 function Loader() {
61 return (
62 /* eslint-disable jsx-a11y/anchor-is-valid */
63 <a
64 href="#"
65 className="button-onboarding button-onboarding--gray disabled"
66 >
67 {wizard.loading}
68 </a>
69 /* eslint-enable jsx-a11y/anchor-is-valid */
70 );
71 }
72
73 function CongratsHeader(options, result) {
74 let title, para;
75
76 title = wizard.stepTitles.congrats.default;
77 para = wizard.congrats.stepHeading;
78
79 if (options.taskOption === 'google_adsense') {
80 title =
81 options.googleAdsPlacement === 'auto_ads'
82 ? wizard.stepTitles.congrats.adsenseAuto
83 : wizard.stepTitles.congrats.adsenseManual;
84
85 para =
86 options.googleAdsPlacement === 'auto_ads'
87 ? wizard.congrats.adsenseAuto.stepHeading
88 : wizard.congrats.adsenseManual.stepHeading;
89 }
90
91 return (
92 <>
93 <h1 className="!mt-0">{title}</h1>
94 <div className="congrats-flex">
95 <p
96 className="text-justify min-w m-0"
97 dangerouslySetInnerHTML={{
98 __html: para,
99 }}
100 />
101 {getEditButton(options, result)}
102 </div>
103
104 {getLiveHeading(options, result)}
105 </>
106 );
107 }
108
109 function getEditButton(options, result) {
110 if (options.taskOption === 'google_adsense' && result?.success) {
111 if (
112 options.googleAdsPlacement === 'auto_ads' &&
113 result.adsenseAccount
114 ) {
115 return (
116 <div>
117 <a
118 href={result.adsenseAccount}
119 className="button-onboarding button-onboarding--gray"
120 target="_blank"
121 rel="noreferrer"
122 >
123 {wizard.congrats.adsenseAuto.btnAccount}
124 </a>
125 </div>
126 );
127 }
128
129 if (options.googleAdsPlacement === 'manual' && result.itemEditLink) {
130 return (
131 <div>
132 <a
133 href={result.itemEditLink}
134 className="button-onboarding !bg-red-600 !border-red-700 !text-white"
135 >
136 {wizard.congrats.adsenseManual.btnEditItem}
137 </a>
138 </div>
139 );
140 }
141 }
142
143 if (result?.success && result.itemEditLink) {
144 return (
145 <div>
146 <a
147 href={result.itemEditLink}
148 className="button-onboarding button-onboarding--gray"
149 >
150 {wizard.congrats.btnEditItem}
151 </a>
152 </div>
153 );
154 }
155
156 return null;
157 }
158
159 function getLiveHeading(options, result) {
160 if (
161 options.taskOption === 'google_adsense' &&
162 options.googleAdsPlacement === 'auto_ads'
163 ) {
164 return null;
165 }
166
167 if (
168 options.taskOption === 'google_adsense' &&
169 options.googleAdsPlacement === 'manual'
170 ) {
171 return (
172 <div className="congrats-flex mt-7">
173 <p
174 className="m-0"
175 dangerouslySetInnerHTML={{
176 __html: wizard.congrats.adsenseManual.liveHeading,
177 }}
178 />
179 </div>
180 );
181 }
182
183 return (
184 <div className="congrats-flex mt-7">
185 <p
186 className="m-0"
187 dangerouslySetInnerHTML={{
188 __html: wizard.congrats.liveHeading,
189 }}
190 />
191 <div className="mr-3">
192 {result && result.success && '' !== result.postLink ? (
193 <a href={result.postLink} className="button-onboarding">
194 {wizard.congrats.btnLiveAd}
195 </a>
196 ) : (
197 <Loader />
198 )}
199 </div>
200 </div>
201 );
202 }
203
204 export default function Congrats({ options }) {
205 const [result, setResult] = useState(null);
206 const [userEmail, setUserEmail] = useState('');
207
208 if (result === null) {
209 apiFetch({
210 path: '/advanced-ads/v1/onboarding',
211 method: 'POST',
212 data: options,
213 }).then((response) => {
214 setResult(response);
215 });
216 }
217
218 if (userEmail === '') {
219 apiFetch({
220 path: '/advanced-ads/v1/user-email',
221 method: 'GET',
222 }).then((email) => {
223 setUserEmail(email);
224 });
225 }
226
227 return (
228 <>
229 {CongratsHeader(options, result)}
230 <Divider />
231 <Newsletter email={userEmail} setEmail={setUserEmail} />
232 <Divider />
233 <h1 className="!mt-0">{wizard.congrats.upgradeHeading}</h1>
234 <div className="congrats-flex items-center gap-x-12">
235 <p className="text-justify m-0">
236 {wizard.congrats.upgradeText}
237 </p>
238 <a
239 href="https://wpadvancedads.com/add-ons/all-access/?utm_source=advanced-ads&utm_medium=link&utm_campaign=wizard-upgrade"
240 className="button-onboarding !bg-red-600 !border-red-700 !text-white text-center"
241 target="_blank"
242 rel="noreferrer"
243 >
244 {wizard.congrats.btnUpgrade}
245 </a>
246 </div>
247
248 <div className="flex gap-x-12 items-center">
249 <div className="space-y-2 mt-4 text-lg tracking-wide grow">
250 {wizard.congrats.upgradePoints.map((point, index) => (
251 <ListItem key={`point-${index}`} {...point} />
252 ))}
253 </div>
254 <div>
255 <Upgradebox className="w-40" />
256 </div>
257 </div>
258 <Divider />
259 <div className="text-right">
260 <a
261 href={adminUrl('admin.php?page=advanced-ads')}
262 className="button-onboarding button-onboarding--gray"
263 >
264 {wizard.congrats.btnDashboard}
265 </a>
266 </div>
267 </>
268 );
269 }
270