nodebb-plugin-ezoic-infinite 1.8.32 → 1.8.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/public/style.css +39 -34
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-ezoic-infinite",
3
- "version": "1.8.32",
3
+ "version": "1.8.33",
4
4
  "description": "Production-ready Ezoic infinite ads integration for NodeBB 4.x",
5
5
  "main": "library.js",
6
6
  "license": "MIT",
package/public/style.css CHANGED
@@ -1,10 +1,6 @@
1
1
  /*
2
- * NodeBB Ezoic Infinite Ads — style.css (v20.5)
3
- * Objectif:
4
- * - comportement v50-like (pas de rognage involontaire)
5
- * - neutraliser les wrappers Ezoic "adaptive/multi" (970px inline) sur mobile
6
- * - éviter l'affichage multi-annonces (forcer 1 annonce / ligne)
7
- * - garder anti-sticky + gestion .is-empty
2
+ * NodeBB Ezoic Infinite Ads — style.css (v20.6)
3
+ * Fix mobile: supprimer le léger scroll horizontal lors de l'apparition du "reportline" Ezoic.
8
4
  */
9
5
 
10
6
  /* ── Wrapper ──────────────────────────────────────────────────────────────── */
@@ -13,11 +9,7 @@
13
9
  width: 100%;
14
10
  margin: 0 !important;
15
11
  padding: 0 !important;
16
-
17
- /* Ne pas couper les ads rendues */
18
12
  overflow: visible;
19
-
20
- /* On évite les effets de layout imprévus avec certains thèmes */
21
13
  contain: none;
22
14
  }
23
15
 
@@ -40,7 +32,7 @@
40
32
  font-size: 0 !important;
41
33
  }
42
34
 
43
- /* Container Google/Ezoic : surtout PAS overflow hidden (sinon rognage) */
35
+ /* Container Google/Ezoic : ne pas rogner */
44
36
  .nodebb-ezoic-wrap div[id$="__container__"],
45
37
  .nodebb-ezoic-wrap [id^="google_ads_iframe_"][id$="__container__"] {
46
38
  display: block !important;
@@ -55,7 +47,7 @@
55
47
  max-width: 100% !important;
56
48
  }
57
49
 
58
- /* Conteneur Ezoic : ne pas casser la hauteur, centrer */
50
+ /* Conteneur Ezoic : centrer, ne pas casser la hauteur */
59
51
  .nodebb-ezoic-wrap .ezoic-ad,
60
52
  .nodebb-ezoic-wrap span.ezoic-ad {
61
53
  display: block !important;
@@ -70,7 +62,7 @@
70
62
  max-width: 100% !important;
71
63
  }
72
64
 
73
- /* Iframes : centrées, bornées */
65
+ /* Iframes : bornées */
74
66
  .nodebb-ezoic-wrap iframe {
75
67
  margin-left: auto !important;
76
68
  margin-right: auto !important;
@@ -82,7 +74,7 @@
82
74
  position: absolute !important;
83
75
  }
84
76
 
85
- /* Neutralise sticky dans nos wraps (évite l'effet "gliding") */
77
+ /* Neutralise sticky dans nos wraps */
86
78
  .nodebb-ezoic-wrap .ezads-sticky-intradiv {
87
79
  position: static !important;
88
80
  top: auto !important;
@@ -110,16 +102,6 @@
110
102
  }
111
103
 
112
104
  /* ── Fix: Ezoic "adaptive/multi" qui force 970px & multi-annonces ────────── */
113
- /*
114
- Certains placements "adaptive/multi" gardent des inline styles:
115
- width/min-width: 970px + display:flex + plusieurs blocs 300x250.
116
- Ce n'est pas souhaité -> on:
117
- - neutralise les largeurs forcées
118
- - empêche l'affichage multi en ne gardant que le 1er slot rendu
119
- - force une mise en page "1 annonce centrée"
120
- */
121
-
122
- /* Neutralise les inline width/min-width (970px) sur ces wrappers */
123
105
  .nodebb-ezoic-wrap .ezoic-ad-adaptive,
124
106
  .nodebb-ezoic-wrap .adtester-container,
125
107
  .nodebb-ezoic-wrap [class*="Content-multi-"] {
@@ -129,7 +111,6 @@
129
111
  box-sizing: border-box !important;
130
112
  }
131
113
 
132
- /* Ces wrappers sont souvent en flex -> on les remet en bloc centrable */
133
114
  .nodebb-ezoic-wrap .ezoic-ad-adaptive,
134
115
  .nodebb-ezoic-wrap .adtester-container {
135
116
  display: block !important;
@@ -137,20 +118,30 @@
137
118
  margin-right: auto !important;
138
119
  }
139
120
 
140
- /* Si Ezoic met plusieurs "Content-multi-XXX" dans le même placeholder:
141
- on masque toutes les occurrences sauf la première. */
121
+ /* Masque les multi-slots non voulus */
142
122
  .nodebb-ezoic-wrap [class*="Content-multi-"] ~ [class*="Content-multi-"] {
143
123
  display: none !important;
144
124
  }
145
-
146
- /* Si plusieurs containers Google sont présents (multi slots), on masque tout sauf le premier */
147
125
  .nodebb-ezoic-wrap div[id$="__container__"] ~ div[id$="__container__"] {
148
126
  display: none !important;
149
127
  }
150
128
 
151
- /* ── Mobile: éviter tout débordement horizontal ──────────────────────────── */
129
+ /* ── MOBILE: anti scroll horizontal “1–3px” (reportline / absolute / padding) ─ */
152
130
  @media (max-width: 767px) {
153
- /* On s'assure que les wrappers ne gardent pas de min-width forcé */
131
+ /* 1) Empêche le dézoom/scroll horizontal global */
132
+ html, body {
133
+ overflow-x: hidden !important;
134
+ }
135
+
136
+ /* 2) Rien dans le wrap ne doit dépasser le viewport */
137
+ .nodebb-ezoic-wrap,
138
+ .nodebb-ezoic-wrap > [id^="ezoic-pub-ad-placeholder-"],
139
+ .nodebb-ezoic-wrap > [id^="ezoic-pub-ad-placeholder-"] > div {
140
+ max-width: 100vw !important;
141
+ box-sizing: border-box !important;
142
+ }
143
+
144
+ /* 3) Les wrappers Ezoic ne doivent jamais garder un min-width implicite */
154
145
  .nodebb-ezoic-wrap .ezoic-ad,
155
146
  .nodebb-ezoic-wrap span.ezoic-ad,
156
147
  .nodebb-ezoic-wrap .ezoic-ad-adaptive,
@@ -161,10 +152,24 @@
161
152
  max-width: 100% !important;
162
153
  }
163
154
 
164
- /* Si un thème parent clippe encore, on préfère un scroll interne au rognage */
155
+ /* 4) Reportline: c'est souvent lui qui “dépasse” de 1–2px */
156
+ .nodebb-ezoic-wrap .reportline {
157
+ left: 0 !important;
158
+ right: 0 !important;
159
+ width: auto !important;
160
+ max-width: 100% !important;
161
+ box-sizing: border-box !important;
162
+ overflow: hidden !important; /* évite qu’un enfant dépasse */
163
+ }
164
+ .nodebb-ezoic-wrap .reportline * {
165
+ max-width: 100% !important;
166
+ box-sizing: border-box !important;
167
+ }
168
+
169
+ /* IMPORTANT: on enlève le scroll interne auto (ça peut créer un micro-scroll sur la page catégories) */
165
170
  .nodebb-ezoic-wrap > [id^="ezoic-pub-ad-placeholder-"] {
166
- overflow-x: auto !important;
167
- -webkit-overflow-scrolling: touch;
171
+ overflow-x: visible !important;
172
+ -webkit-overflow-scrolling: auto;
168
173
  }
169
174
  }
170
175