Try front-end hiding ads for user setting (#18444)

* Try front-end hiding ads for user setting

* CI does not like ?.
This commit is contained in:
Joshua Wehner 2022-09-20 09:17:03 +02:00 committed by GitHub
parent f47f905382
commit fb87165654
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 23 additions and 1 deletions

View file

@ -24,6 +24,7 @@ module.exports = {
handleFollowButtPress: false,
browserStoreCache: false,
initializeBaseUserData: false,
initializeDisplayAdVisibility: false,
initializeReadingListIcons: false,
initializeSponsorshipVisibility: false,
ActiveXObject: false,

View file

@ -11,7 +11,7 @@
initializeVideoPlayback, initializeDrawerSliders, initializeProfileBadgesToggle,
initializeHeroBannerClose, initializeOnboardingTaskCard, initScrolling,
nextPage:writable, fetching:writable, done:writable, adClicked:writable,
initializePaymentPointers, initializeBroadcast, initializeDateHelpers,
initializePaymentPointers, initializeBroadcast, initializeDateHelpers
*/
function callInitializers() {
@ -50,6 +50,7 @@ function initializePage() {
initializeBroadcast();
initializeReadingListIcons();
initializeSponsorshipVisibility();
initializeDisplayAdVisibility();
if (document.getElementById('sidebar-additional')) {
document.getElementById('sidebar-additional').classList.add('showing');
}

View file

@ -0,0 +1,19 @@
function initializeDisplayAdVisibility() {
var displayAds = document.querySelectorAll('[data-display-unit]');
if (displayAds && displayAds.length == 0) {
return;
}
var user = userData();
displayAds.forEach((ad) => {
if (user && !user.display_sponsors) {
ad.classList.add('hidden');
} else {
ad.classList.remove('hidden');
}
});
// for impression & click-tracking, see initializeBaseTracking
}

View file

@ -5,6 +5,7 @@ function initializeLocalStorageRender() {
document.body.dataset.user = userData;
initializeBaseUserData();
initializeReadingListIcons();
initializeDisplayAdVisibility();
initializeSponsorshipVisibility();
}
} catch (err) {