'use client'; import { useEffect, useState } from 'react'; const PROFILES = [ { name: 'Joe Bloggs', email: 'joe@bloggs.com', avatar: '/avatar.jpg', stats: { firstSeen: 'about 2 months', lastSeen: '41 minutes', sessions: '8', avgSession: '5m 59s', p90Session: '7m 42s', pageViews: '41', }, }, { name: 'Jane Smith', email: 'jane@smith.com', avatar: '/avatar-2.jpg', stats: { firstSeen: 'about 1 month', lastSeen: '2 hours', sessions: '12', avgSession: '4m 32s', p90Session: '6m 15s', pageViews: '35', }, }, { name: 'Alex Johnson', email: 'alex@johnson.com', avatar: '/avatar-3.jpg', stats: { firstSeen: 'about 3 months', lastSeen: '15 minutes', sessions: '15', avgSession: '6m 20s', p90Session: '8m 10s', pageViews: '52', }, }, ]; export function ProfilesFeature() { const [currentIndex, setCurrentIndex] = useState(0); const [isTransitioning, setIsTransitioning] = useState(true); useEffect(() => { const timer = setInterval(() => { if (currentIndex === PROFILES.length) { setIsTransitioning(false); setCurrentIndex(0); setTimeout(() => setIsTransitioning(true), 50); } else { setCurrentIndex((current) => current + 1); } }, 3000); return () => clearInterval(timer); }, [currentIndex]); return (
{[...PROFILES, PROFILES[0]].map((profile, index) => (
{profile.name}
{profile.email}
First seen
{profile.stats.firstSeen}
Last seen
{profile.stats.lastSeen}
Sessions
{profile.stats.sessions}
Avg. Session
{profile.stats.avgSession}
P90. Session
{profile.stats.p90Session}
Page views
{profile.stats.pageViews}
))}
); }