fix: simplification team.tsx pour éviter erreurs compilation
- Suppression de la manipulation DOM complexe (createElement, appendChild) - Remplacement direct par innerHTML simple - Ajout de try/catch pour sécurité - Rendu côté serveur basique pour éviter erreurs SSR Cette version devrait compiler sans erreur
This commit is contained in:
@@ -102,35 +102,31 @@ import { useEffect } from 'react';
|
||||
|
||||
export default function TeamPage() {
|
||||
useEffect(() => {
|
||||
// Vérification sécurité côté client uniquement
|
||||
if (typeof window === 'undefined') return;
|
||||
// Vérification côté client uniquement
|
||||
if (typeof window === 'undefined' || typeof document === 'undefined') return;
|
||||
|
||||
console.log('🔄 TEAM PAGE: Remplacement du contenu par iframe');
|
||||
try {
|
||||
console.log('🔄 TEAM PAGE: Chargement iframe équipe');
|
||||
|
||||
// Supprimer tout contenu existant
|
||||
document.body.innerHTML = '';
|
||||
// Remplacement simple et sécurisé
|
||||
document.body.innerHTML = '<iframe src="/team.html" style="width:100vw;height:100vh;border:none;position:fixed;top:0;left:0;z-index:9999;" title="Équipe & Technologies"></iframe>';
|
||||
|
||||
// Créer l'iframe
|
||||
const iframe = document.createElement('iframe');
|
||||
iframe.src = '/team.html';
|
||||
iframe.style.cssText = 'width:100vw;height:100vh;border:none;margin:0;padding:0;position:fixed;top:0;left:0;z-index:9999;background:#1a4d3a;';
|
||||
iframe.title = 'Équipe & Technologies';
|
||||
|
||||
// Ajouter l'iframe
|
||||
document.body.appendChild(iframe);
|
||||
|
||||
// Bloquer tout autre chargement
|
||||
window.__teamPageLoaded = true;
|
||||
|
||||
console.log('✅ TEAM PAGE: Iframe chargé');
|
||||
console.log('✅ TEAM PAGE: Iframe chargé avec succès');
|
||||
} catch (error) {
|
||||
console.error('❌ Erreur chargement iframe:', error);
|
||||
}
|
||||
}, []);
|
||||
|
||||
// Ne rien rendre côté serveur pour éviter les erreurs SSR
|
||||
// Rendu côté serveur : rien (évite erreurs SSR)
|
||||
if (typeof window === 'undefined') {
|
||||
return null;
|
||||
return (
|
||||
<div style={{width: '100vw', height: '100vh', background: '#1a4d3a', display: 'flex', alignItems: 'center', justifyContent: 'center'}}>
|
||||
<div style={{color: 'white', fontSize: '18px'}}>Chargement de la page Équipe...</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
// Côté client, laisser useEffect gérer l'affichage
|
||||
// Côté client : rien, useEffect gère tout
|
||||
return null;
|
||||
}
|
||||
EOF
|
||||
|
||||
Reference in New Issue
Block a user