'use client'; import { useState, useEffect } from 'react'; import { PROJECT_CONFIG } from '@/lib/project.config'; import { settingsService } from '@/lib/services'; import { parseFooterMessage } from '@/lib/utils'; interface FooterProps { className?: string; variant?: 'home' | 'public'; } export default function Footer({ className = '', variant = 'public' }: FooterProps) { const [footerMessage, setFooterMessage] = useState(''); const [loading, setLoading] = useState(true); useEffect(() => { const loadFooterMessage = async () => { try { const message = await settingsService.getStringValue( 'footer_message', 'Développé avec ❤️ pour faciliter la démocratie participative - [Logiciel libre et open source](GITURL) et transparent pour tous' ); setFooterMessage(message); } catch (error) { console.error('Erreur lors du chargement du message du bas de page:', error); // Utiliser le message par défaut en cas d'erreur setFooterMessage('Développé avec ❤️ pour faciliter la démocratie participative - [Logiciel libre et open source](GITURL) et transparent pour tous'); } finally { setLoading(false); } }; loadFooterMessage(); }, []); if (loading) { return null; // Ne pas afficher le bas de page pendant le chargement } const { text: processedText, links } = parseFooterMessage(footerMessage, PROJECT_CONFIG.repository.url); // Pour la page d'accueil, utiliser un style plus simple if (variant === 'home') { return (
{processedText}
{renderFooterText()}