"use client"; import { useEffect, useState } from "react"; import { Waves, TrendingUp, TrendingDown } from "lucide-react"; import { Card, CardHeader, CardTitle, CardContent } from "@/components/ui/card"; import { TideData } from "@/app/api/tides/route"; export default function TideWidget() { const [tides, setTides] = useState([]); const [loading, setLoading] = useState(true); useEffect(() => { const fetchTides = async () => { try { const response = await fetch("/api/tides"); const data = await response.json(); setTides(data); } catch (error) { console.error("Erreur lors du chargement des marées:", error); } finally { setLoading(false); } }; fetchTides(); }, []); if (loading) { return (
Chargement des marées...
); } const todayTide = tides[0]; const tomorrowTide = tides[1]; if (!todayTide) { return null; } const formatDate = (dateString: string) => { const date = new Date(dateString); return date.toLocaleDateString("fr-FR", { weekday: "short", day: "numeric", month: "short" }); }; return ( Marées

Aujourd'hui - {formatDate(todayTide.date)}

Haute mer

{todayTide.highTide.time}

{todayTide.highTide.height.toFixed(1)}m

Basse mer

{todayTide.lowTide.time}

{todayTide.lowTide.height.toFixed(1)}m

{tomorrowTide && (

Demain - {formatDate(tomorrowTide.date)}

Haute mer

{tomorrowTide.highTide.time}

Basse mer

{tomorrowTide.lowTide.time}

)}
); }