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 / GoogleAdsense.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
GoogleAdsense.jsx
210 lines
1 /**
2 * External Dependencies
3 */
4 import { wizard } from '@advancedAds/i18n';
5
6 /**
7 * Internal Dependencies
8 */
9 import RadioList from '@components/inputs/RadioList';
10 import CheckboxList from '@components/inputs/CheckboxList';
11 import ErrorMessage from '@components/ErrorMessage';
12 import {
13 authUrl,
14 hasAuthCode,
15 submitCode,
16 getAccountDetails,
17 getErrorMessage,
18 } from '../../utilities';
19 import StepFooter from '../StepFooter';
20 import Preloader from '../../components/Preloader';
21 import SelectAccount from '../../components/SelectAccount';
22
23 export default function GoogleAdsense({ options, setOptions }) {
24 if (!options.adsenseData.account) {
25 if (options.adsenseData.phase) {
26 switch (options.adsenseData.phase) {
27 case 'error':
28 // Something went south, abort.
29 return <ErrorMessage message={options.adsenseData.error} />;
30 case 'select':
31 // Ask the user to choose one account from the network account.
32 return (
33 <SelectAccount
34 accounts={options.adsenseData.accountsList}
35 tokenData={options.adsenseData.tokenData}
36 done={(response) => {
37 setOptions('adsenseData', {
38 account: response.account,
39 });
40 }}
41 fail={(response) => {
42 let message = getErrorMessage(response);
43 if (!message) {
44 message = wizard.googleAd.errors.notSaved;
45 }
46 setOptions('adsenseData', {
47 phase: 'error',
48 error: message,
49 });
50 }}
51 />
52 );
53 default:
54 }
55 }
56
57 if (hasAuthCode()) {
58 // Submit the authorization code from Google's oAuth2 page.
59 submitCode()
60 .done(function (response) {
61 // Got the refresh token, get account info.
62 getAccountDetails(response.token_data)
63 .done(function (accDetails) {
64 if (accDetails.account) {
65 // Standard account.
66 setOptions('adsenseData', {
67 account: accDetails.account,
68 });
69 }
70 if (accDetails.details) {
71 // Network account, show the list of child accounts to choose from.
72 setOptions('adsenseData', {
73 phase: 'select',
74 accountsList: accDetails.details,
75 tokenData: accDetails.token_data,
76 });
77 }
78 })
79 .fail(function (detailsRes) {
80 // Error while getting account details.
81 let message = getErrorMessage(detailsRes);
82 if (!message) {
83 message = wizard.googleAd.errors.notFetched;
84 }
85 setOptions('adsenseData', {
86 phase: 'error',
87 error: message,
88 });
89 });
90 })
91 .fail(function (response) {
92 // Error while requesting the refresh (permanent) token.
93 let message = getErrorMessage(response);
94 if (!message) {
95 message = wizard.googleAd.errors.notAuthorized;
96 }
97 setOptions('adsenseData', {
98 phase: 'error',
99 error: message,
100 });
101 });
102
103 return <Preloader />;
104 }
105
106 return (
107 <>
108 <h1 className="!mt-0">{wizard.googleAd.stepHeading}</h1>
109 <div className="mt-8 flex gap-x-8 justify-start items-center font-medium">
110 <a
111 className="button button-hero !text-base !px-3 !py-4"
112 href={advancedAds.wizard.newAccountLink}
113 target="_blank"
114 rel="noopener noreferrer"
115 >
116 {wizard.googleAd.btnSignup}
117 </a>
118 <a
119 className="button-onboarding !text-base !px-3 !py-4"
120 href={authUrl()}
121 >
122 {wizard.googleAd.btnConnect}
123 </a>
124 </div>
125 <StepFooter
126 isEnabled={false}
127 enableText={wizard.googleAd.footerProcessText}
128 disableText={wizard.googleAd.footerDisableText}
129 />
130 </>
131 );
132 }
133
134 const enableText = (() => {
135 switch (options.googleAdsPlacement) {
136 case 'auto_ads':
137 return wizard.googleAd.footerEnableText.autoAds;
138 case 'manual':
139 return wizard.googleAd.footerEnableText.manual;
140 default:
141 return wizard.googleAd.footerDisableText;
142 }
143 })();
144
145 return (
146 <>
147 <h1 className="!mt-0 !text-gray-300">
148 {wizard.googleAd.stepHeading}
149 </h1>
150 <div className="space-y-4">
151 <p>
152 {wizard.googleAd.labelConnected}{' '}
153 {options.adsenseData.account.id}
154 <br />
155 {wizard.googleAd.labelAccount}{' '}
156 {options.adsenseData.account.name}
157 </p>
158 <div>
159 <h2
160 className={
161 'auto_ads' === options.googleAdsPlacement
162 ? '!text-gray-300'
163 : null
164 }
165 >
166 {wizard.googleAd.labelAdsPlacement}
167 </h2>
168 <RadioList
169 id="google_ads_placement"
170 options={wizard.googleAd.adsPlacement}
171 value={options.googleAdsPlacement}
172 onChange={(value) =>
173 setOptions('googleAdsPlacement', value)
174 }
175 />
176 </div>
177 {options.googleAdsPlacement &&
178 'auto_ads' === options.googleAdsPlacement && (
179 <div>
180 <h2>{wizard.googleAd.labelAutoAds}</h2>
181 <CheckboxList
182 id="auto_ads"
183 options={wizard.googleAd.autoAdsOptions}
184 value={options.autoAdsOptions}
185 onChange={(value) => {
186 const newOptions = [
187 ...options.autoAdsOptions,
188 ];
189 const index = newOptions.indexOf(value);
190 if (index > -1) {
191 newOptions.splice(index, 1);
192 } else {
193 newOptions.push(value);
194 }
195
196 setOptions('autoAdsOptions', newOptions);
197 }}
198 />
199 </div>
200 )}
201 </div>
202 <StepFooter
203 isEnabled={options.googleAdsPlacement}
204 enableText={enableText}
205 disableText={wizard.googleAd.footerDisableText}
206 />
207 </>
208 );
209 }
210