@bebranded/bb-contents 1.0.77-beta → 1.0.79-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 +47 -8
- package/package.json +1 -1
package/bb-contents.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* BeBranded Contents
|
|
3
3
|
* Contenus additionnels français pour Webflow
|
|
4
|
-
* @version 1.0.
|
|
4
|
+
* @version 1.0.79-beta
|
|
5
5
|
* @author BeBranded
|
|
6
6
|
* @license MIT
|
|
7
7
|
* @website https://www.bebranded.xyz
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
|
|
42
42
|
// Configuration
|
|
43
43
|
const config = {
|
|
44
|
-
version: '1.0.
|
|
44
|
+
version: '1.0.79-beta',
|
|
45
45
|
debug: true, // Debug activé pour diagnostic
|
|
46
46
|
prefix: 'bb-', // utilisé pour générer les sélecteurs (data-bb-*)
|
|
47
47
|
youtubeEndpoint: null, // URL du worker YouTube (à définir par l'utilisateur)
|
|
@@ -408,33 +408,72 @@
|
|
|
408
408
|
imagesLoaded++;
|
|
409
409
|
console.log(`🖼️ [MARQUEE] Safari - Image ${imagesLoaded}/${totalImages} chargée`);
|
|
410
410
|
};
|
|
411
|
+
img.onerror = () => {
|
|
412
|
+
imagesLoaded++;
|
|
413
|
+
console.log(`❌ [MARQUEE] Safari - Image ${imagesLoaded}/${totalImages} erreur de chargement`);
|
|
414
|
+
};
|
|
411
415
|
});
|
|
412
416
|
|
|
413
|
-
// Attendre que les images se chargent
|
|
417
|
+
// Attendre que les images se chargent avec timeout adapté mobile
|
|
418
|
+
let waitTimeout = 0;
|
|
419
|
+
const maxWaitTime = 3000; // 3 secondes max sur mobile
|
|
420
|
+
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
|
|
421
|
+
|
|
422
|
+
console.log(`🔍 [MARQUEE] Safari - Mobile détecté: ${isMobile}`);
|
|
423
|
+
|
|
414
424
|
const waitForImages = () => {
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
425
|
+
waitTimeout += 100;
|
|
426
|
+
|
|
427
|
+
if (imagesLoaded >= totalImages || imagesLoaded === 0 || waitTimeout >= maxWaitTime) {
|
|
428
|
+
console.log(`✅ [MARQUEE] Safari - Images chargées: ${imagesLoaded}/${totalImages} (timeout: ${waitTimeout}ms)`);
|
|
429
|
+
|
|
430
|
+
// Attendre encore un peu pour que les images se rendent visuellement
|
|
431
|
+
setTimeout(() => {
|
|
432
|
+
console.log(`🖼️ [MARQUEE] Safari - Attente rendu visuel des images...`);
|
|
433
|
+
startSafariAnimation();
|
|
434
|
+
}, isMobile ? 500 : 200); // Plus de temps sur mobile
|
|
418
435
|
} else {
|
|
419
436
|
setTimeout(waitForImages, 100);
|
|
420
437
|
}
|
|
421
438
|
};
|
|
422
439
|
|
|
423
440
|
const startSafariAnimation = () => {
|
|
441
|
+
// Forcer le chargement des images restantes si timeout
|
|
442
|
+
if (waitTimeout >= maxWaitTime && imagesLoaded < totalImages) {
|
|
443
|
+
console.log(`⚠️ [MARQUEE] Safari - Timeout atteint, forcer chargement images restantes`);
|
|
444
|
+
images.forEach(img => {
|
|
445
|
+
if (img.dataset.src && !img.src) {
|
|
446
|
+
img.src = img.dataset.src;
|
|
447
|
+
img.loading = 'eager';
|
|
448
|
+
}
|
|
449
|
+
});
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
// Vérifier que les images ont une taille visible
|
|
453
|
+
let imagesWithSize = 0;
|
|
454
|
+
images.forEach(img => {
|
|
455
|
+
if (img.offsetWidth > 0 && img.offsetHeight > 0) {
|
|
456
|
+
imagesWithSize++;
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
console.log(`🖼️ [MARQUEE] Safari - Images avec taille visible: ${imagesWithSize}/${totalImages}`);
|
|
460
|
+
|
|
424
461
|
// Recalculer la taille après chargement des images
|
|
425
462
|
const newContentSize = isVertical ? mainBlock.offsetHeight : mainBlock.offsetWidth;
|
|
426
463
|
console.log(`🔍 [MARQUEE] Safari - Nouvelle taille après images: ${newContentSize}px`);
|
|
427
464
|
|
|
428
465
|
let finalContentSize = newContentSize > contentSize ? newContentSize : contentSize;
|
|
429
466
|
|
|
430
|
-
// Fallback si toujours trop petit
|
|
467
|
+
// Fallback si toujours trop petit (surtout sur mobile)
|
|
431
468
|
if (finalContentSize < 200) {
|
|
432
469
|
const parentElement = element.parentElement;
|
|
433
470
|
if (parentElement) {
|
|
434
471
|
finalContentSize = isVertical ? parentElement.offsetHeight : parentElement.offsetWidth;
|
|
435
472
|
}
|
|
436
473
|
if (finalContentSize < 200) {
|
|
437
|
-
|
|
474
|
+
// Valeurs par défaut plus généreuses sur mobile
|
|
475
|
+
finalContentSize = isVertical ? (isMobile ? 600 : 400) : (isMobile ? 1000 : 800);
|
|
476
|
+
console.log(`🔍 [MARQUEE] Safari - Utilisation valeur par défaut mobile: ${finalContentSize}px`);
|
|
438
477
|
}
|
|
439
478
|
}
|
|
440
479
|
|