@bebranded/bb-contents 1.0.34-beta → 1.0.36-beta
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.
- package/bb-contents.js +31 -10
- package/package.json +1 -1
package/bb-contents.js
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
// Configuration
|
|
19
19
|
const config = {
|
|
20
|
-
version: '1.0.
|
|
21
|
-
debug:
|
|
20
|
+
version: '1.0.36-beta',
|
|
21
|
+
debug: true, // Activé temporairement pour debug
|
|
22
22
|
prefix: 'bb-', // utilisé pour générer les sélecteurs (data-bb-*)
|
|
23
23
|
i18n: {
|
|
24
24
|
copied: 'Lien copié !'
|
|
@@ -84,6 +84,14 @@
|
|
|
84
84
|
|
|
85
85
|
this.utils.log('Initialisation v' + this.config.version);
|
|
86
86
|
|
|
87
|
+
// Debug: Analyser l'environnement
|
|
88
|
+
this.utils.log('=== DEBUG ENVIRONNEMENT ===');
|
|
89
|
+
this.utils.log('Body attributes:', Array.from(document.body.attributes).map(attr => attr.name + '=' + attr.value));
|
|
90
|
+
this.utils.log('Scripts chargés:', document.querySelectorAll('script').length);
|
|
91
|
+
this.utils.log('Stylesheets chargés:', document.querySelectorAll('link[rel="stylesheet"]').length);
|
|
92
|
+
this.utils.log('Marquees détectés:', document.querySelectorAll('[bb-marquee]').length);
|
|
93
|
+
this.utils.log('Marquees déjà traités:', document.querySelectorAll('[bb-marquee][data-bb-marquee-processed]').length);
|
|
94
|
+
|
|
87
95
|
// Détection du bb-performance-boost
|
|
88
96
|
this._performanceBoostDetected = document.body.hasAttribute('bb-performance-boost');
|
|
89
97
|
if (this._performanceBoostDetected) {
|
|
@@ -462,14 +470,27 @@
|
|
|
462
470
|
const initAnimation = (retryCount = 0) => {
|
|
463
471
|
// Attendre que le contenu soit dans le DOM
|
|
464
472
|
requestAnimationFrame(() => {
|
|
465
|
-
|
|
466
|
-
const
|
|
473
|
+
// Calcul plus robuste des dimensions
|
|
474
|
+
const rect = mainBlock.getBoundingClientRect();
|
|
475
|
+
const contentWidth = rect.width || mainBlock.offsetWidth;
|
|
476
|
+
const contentHeight = rect.height || mainBlock.offsetHeight;
|
|
477
|
+
|
|
478
|
+
// Pour les marquees verticaux, utiliser la largeur du parent si nécessaire
|
|
479
|
+
let finalWidth = contentWidth;
|
|
480
|
+
let finalHeight = contentHeight;
|
|
481
|
+
|
|
482
|
+
if (isVertical && contentWidth < 10) {
|
|
483
|
+
// Si largeur trop petite, utiliser la largeur du parent
|
|
484
|
+
const parentRect = mainBlock.parentElement.getBoundingClientRect();
|
|
485
|
+
finalWidth = parentRect.width || mainBlock.parentElement.offsetWidth;
|
|
486
|
+
bbContents.utils.log('Largeur corrigée pour marquee vertical:', finalWidth, 'px (était:', contentWidth, 'px)');
|
|
487
|
+
}
|
|
467
488
|
|
|
468
489
|
// Debug amélioré
|
|
469
|
-
bbContents.utils.log('Debug - Largeur du contenu:',
|
|
490
|
+
bbContents.utils.log('Debug - Largeur du contenu:', finalWidth, 'px', 'Hauteur:', finalHeight, 'px', 'Enfants:', mainBlock.children.length, 'Vertical:', isVertical, 'Direction:', direction, 'Tentative:', retryCount + 1);
|
|
470
491
|
|
|
471
492
|
// Si pas de contenu, réessayer avec délai progressif
|
|
472
|
-
if ((isVertical &&
|
|
493
|
+
if ((isVertical && finalHeight === 0) || (!isVertical && finalWidth === 0)) {
|
|
473
494
|
if (retryCount < 5) {
|
|
474
495
|
bbContents.utils.log('Contenu non prêt, nouvelle tentative dans', (200 + retryCount * 100), 'ms');
|
|
475
496
|
setTimeout(() => initAnimation(retryCount + 1), 200 + retryCount * 100);
|
|
@@ -481,9 +502,9 @@
|
|
|
481
502
|
}
|
|
482
503
|
|
|
483
504
|
// Pour le vertical, s'assurer qu'on a une hauteur minimale
|
|
484
|
-
if (isVertical &&
|
|
505
|
+
if (isVertical && finalHeight < 50) {
|
|
485
506
|
if (retryCount < 5) {
|
|
486
|
-
bbContents.utils.log('Hauteur insuffisante pour le marquee vertical (' +
|
|
507
|
+
bbContents.utils.log('Hauteur insuffisante pour le marquee vertical (' + finalHeight + 'px), nouvelle tentative dans', (200 + retryCount * 100), 'ms');
|
|
487
508
|
setTimeout(() => initAnimation(retryCount + 1), 200 + retryCount * 100);
|
|
488
509
|
return;
|
|
489
510
|
} else {
|
|
@@ -494,7 +515,7 @@
|
|
|
494
515
|
|
|
495
516
|
if (isVertical) {
|
|
496
517
|
// Animation JavaScript pour le vertical
|
|
497
|
-
const contentSize =
|
|
518
|
+
const contentSize = finalHeight;
|
|
498
519
|
const totalSize = contentSize * 4 + parseInt(gap) * 3; // 4 copies au lieu de 3
|
|
499
520
|
|
|
500
521
|
// Ajuster la hauteur du scrollContainer seulement si pas en mode auto
|
|
@@ -542,7 +563,7 @@
|
|
|
542
563
|
}
|
|
543
564
|
} else {
|
|
544
565
|
// Animation JavaScript pour l'horizontal (comme le vertical pour éviter les saccades)
|
|
545
|
-
const contentSize =
|
|
566
|
+
const contentSize = finalWidth;
|
|
546
567
|
const totalSize = contentSize * 4 + parseInt(gap) * 3;
|
|
547
568
|
scrollContainer.style.width = totalSize + 'px';
|
|
548
569
|
|