'use client'; import { useState, useEffect } from 'react'; import Link from 'next/link'; import { Settings } from 'lucide-react'; import LiveMatches from './_components/live-matches'; import Standings from './_components/standings'; import TopScorers from './_components/top-scorers'; import RecentResults from './_components/recent-results'; import UpcomingFixtures from './_components/upcoming-fixtures'; import CountdownTimer from './_components/countdown-timer'; import { SettingsContext, defaultSettings, type AppSettings } from '@/lib/settings-context'; export default function HomePage() { const [settings, setSettings] = useState(defaultSettings); const [loading, setLoading] = useState(true); useEffect(() => { const fetchSettings = async () => { try { const res = await fetch('/api/settings'); if (res.ok) { const data = await res.json(); setSettings(data); } } catch (error) { console.error('Failed to fetch settings:', error); } finally { setLoading(false); } }; fetchSettings(); }, []); const leagueName = settings.selectedLeague === 'euro_2026' ? 'UEFA Euro 2024' : 'Primeira Liga'; const leagueSubtitle = settings.selectedLeague === 'euro_2026' ? 'European Championship' : 'Portuguese Championship 2024/2025'; const heroText = settings.selectedLeague === 'euro_2026' ? 'European Football at Your Fingertips' : 'Portuguese Football at Your Fingertips'; if (loading) { return (
); } return (
{/* Header */}

{leagueName}

{leagueSubtitle}

{/* Hero Section */}

{heroText}

Real-time scores, standings, and statistics

{/* Main Content */}
{settings.showLiveMatches && } {settings.showStandings && } {settings.showTopScorers && }
{settings.showRecentResults && } {settings.showUpcoming && }
{/* Footer */}
); }