'use client'; import { useState, useEffect, useRef } from 'react'; import Image from 'next/image'; import { useLanguage } from '@/contexts/LanguageContext'; import { useTheme } from '@/contexts/ThemeContext'; import ConsenSysLogo from './ConsenSysLogo'; export default function TrustedBySection() { const { t } = useLanguage(); const { theme } = useTheme(); const [animate, setAnimate] = useState(false); const sectionRef = useRef(null); useEffect(() => { const currentRef = sectionRef.current; if (!currentRef) return; const observer = new IntersectionObserver( (entries) => { if (entries[0].isIntersecting) { setAnimate(true); observer.disconnect(); } }, { threshold: 0.3 } ); observer.observe(currentRef); return () => observer.disconnect(); }, []); const isDark = theme === 'dark'; const partners = [ { name: 'BlackRock', src: '/nav-ireland0.svg', width: 200, height: 40 }, { name: 'Coinbase', src: '/coinbase-10.svg', width: 180, height: 40 }, { name: 'Wintermute', src: '/wintermute0.svg', width: 247, height: 40 }, { name: 'Circle', src: '/group0.svg', width: 156, height: 40 }, { name: 'ConsenSys', src: '', width: 220, height: 50 } ]; return (
{t('trusted.title')}
{partners.map((partner, index) => (
{partner.name === 'ConsenSys' ? ( ) : ( {partner.name} )}
))}
); }