nodebb-plugin-ezoic-infinite 1.6.55 → 1.6.56

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 +51 -84
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-ezoic-infinite",
3
- "version": "1.6.55",
3
+ "version": "1.6.56",
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,100 +1,67 @@
1
- /*
2
- Keep our NodeBB-inserted wrappers CLS-safe.
3
- NOTE: must not rely on `.ezoic-ad` because Ezoic uses that class internally.
4
- */
1
+ /* --- Conteneur principal de la publicité --- */
5
2
  .nodebb-ezoic-wrap {
6
- display: block;
7
- width: 100%;
8
- margin: 0 !important;
9
- padding: 0 !important;
10
- overflow: hidden;
3
+ display: block !important;
4
+ width: 100% !important;
5
+ clear: both !important;
6
+ margin: 20px 0 !important;
7
+ padding: 0 !important;
8
+ /* Empêche les débordements visuels lors du recyclage du DOM */
9
+ overflow: hidden;
10
+ /* Améliore les performances de rendu sur NodeBB 4.x */
11
+ contain: layout style;
11
12
  }
12
13
 
13
- .nodebb-ezoic-wrap > [id^="ezoic-pub-ad-placeholder-"] {
14
- margin: 0 !important;
15
- padding: 0 !important;
16
- /* Keep the placeholder measurable (IO) but visually negligible */
17
- min-height: 1px;
14
+ /* --- Protection du premier emplacement (Pinned) --- */
15
+ .nodebb-ezoic-wrap[data-ezoic-pinned="true"] {
16
+ /* On réserve une hauteur minimale pour éviter que le contenu
17
+ ne saute violemment quand la pub charge au scroll up */
18
+ min-height: 120px;
19
+ border-bottom: 1px solid rgba(0,0,0,0.05);
20
+ margin-top: 0 !important;
18
21
  }
19
22
 
20
- /* If Ezoic wraps inside our wrapper, keep it tight */
21
- .nodebb-ezoic-wrap span.ezoic-ad,
22
- .nodebb-ezoic-wrap .ezoic-ad {
23
- margin: 0 !important;
24
- padding: 0 !important;
23
+ /* --- Le placeholder Ezoic interne --- */
24
+ [id^="ezoic-pub-ad-placeholder-"] {
25
+ margin: 0 auto !important;
26
+ padding: 0 !important;
27
+ text-align: center;
28
+ min-height: 1px;
29
+ line-height: 0;
25
30
  }
26
31
 
27
- /* Remove the classic "gap under iframe" (baseline/inline-block) */
28
- .nodebb-ezoic-wrap,
29
- .nodebb-ezoic-wrap * {
30
- line-height: 0 !important;
31
- font-size: 0 !important;
32
- }
33
-
34
- .nodebb-ezoic-wrap iframe,
35
- .nodebb-ezoic-wrap div[id$="__container__"] iframe {
36
- display: block !important;
37
- vertical-align: top !important;
38
- }
39
-
40
- .nodebb-ezoic-wrap div[id$="__container__"] {
41
- display: block !important;
42
- line-height: 0 !important;
43
- }
44
-
45
-
46
- /* Collapse empty ad blocks (prevents "holes" when an ad doesn't fill or gets destroyed) */
47
- .nodebb-ezoic-wrap.is-empty {
48
- display: block !important;
49
- margin: 0 !important;
50
- padding: 0 !important;
51
- /* Don't fully collapse (can prevent fill / triggers "unused"), keep it at 1px */
52
- height: 1px !important;
53
- min-height: 1px !important;
54
- overflow: hidden !important;
32
+ /* --- Nettoyage des éléments Ezoic internes --- */
33
+ .nodebb-ezoic-wrap span.ezoic-ad,
34
+ .nodebb-ezoic-wrap .ezoic-ad {
35
+ display: block !important;
36
+ margin: 0 auto !important;
37
+ /* Force Ezoic à respecter la largeur du flux forum */
38
+ max-width: 100% !important;
55
39
  }
56
40
 
57
- /*
58
- Optional: also neutralize spacing on native Ezoic `.ezoic-ad` blocks.
59
- (Keeps your previous "CSS very good" behavior.)
60
- */
61
- .ezoic-ad {
62
- margin: 0 !important;
63
- padding: 0 !important;
64
- }
65
- /* Remove Ezoic's large reserved min-height inside our wrappers (topics/messages) */
66
- .nodebb-ezoic-wrap .ezoic-ad,
67
- .nodebb-ezoic-wrap span.ezoic-ad {
68
- min-height: 1px !important; /* kill 400px gaps */
69
- height: auto !important;
41
+ /* --- Gestion des blocs vides (Anti-Holes) --- */
42
+ /* Si Ezoic ne renvoie rien ou si le bloc est vide,
43
+ on réduit l'espace pour ne pas avoir de gros trous blancs */
44
+ .nodebb-ezoic-wrap:empty {
45
+ height: 0 !important;
46
+ min-height: 0 !important;
47
+ margin: 0 !important;
70
48
  }
71
49
 
72
- /* Ensure Ezoic reportline doesn't affect layout */
73
- .nodebb-ezoic-wrap .reportline{position:absolute!important;}
74
-
75
- /* Ezoic sometimes injects `position: sticky` inside placements. In long NodeBB topics,
76
- this can create "gliding" and sudden disappear/reappear effects while scrolling.
77
- We neutralize sticky positioning *inside our injected wrappers* only. */
78
- .nodebb-ezoic-wrap .ezads-sticky-intradiv {
79
- position: static !important;
80
- top: auto !important;
50
+ /* --- Adaptation spécifique pour les Messages (Sujets ouverts) --- */
51
+ .ezoic-msg-first {
52
+ margin-bottom: 30px !important;
53
+ border-bottom: 1px solid var(--border-color, #eee);
54
+ padding-bottom: 10px !important;
81
55
  }
82
56
 
83
-
84
- /* ===== V17 host styling ===== */
85
- li.nodebb-ezoic-host { list-style: none; width: 100%; display: block; }
86
- li.nodebb-ezoic-host > .nodebb-ezoic-wrap.ezoic-ad-between { width: 100%; display: block; }
87
- /* ===== /V17 ===== */
88
-
89
- .nodebb-ezoic-wrap {
90
- display: block;
91
- width: 100%;
92
- clear: both;
93
- margin: 20px 0 !important; /* Ajoute un peu d'espace pour le visuel */
94
- min-height: 50px; /* Évite que le bloc ne soit écrasé à 0px */
57
+ /* --- Support du mode sombre (NodeBB 4 Harmony) --- */
58
+ [data-theme="dark"] .nodebb-ezoic-wrap[data-ezoic-pinned="true"] {
59
+ border-bottom-color: rgba(255,255,255,0.1);
95
60
  }
96
61
 
97
- /* Si la pub est vide, on garde un petit espace pour éviter le saut au scroll up */
98
- .nodebb-ezoic-wrap:empty {
99
- min-height: 1px;
62
+ /* --- Neutralisation des marges forcées par Ezoic sur mobile --- */
63
+ @media (max-width: 767px) {
64
+ .nodebb-ezoic-wrap {
65
+ margin: 10px 0 !important;
66
+ }
100
67
  }