"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Header from "@/components/Header"; import { signOut } from "next-auth/react"; export default function YogaDashboard({ user, messages, unreadCount }: any) { const router = useRouter(); const profile = user?.yoga; const attendances = profile?.attendances || []; const remaining = profile?.sessionsRemaining ?? 0; const pricePerSession = 9; const sessionsDone = attendances.length; const totalAttendedCost = sessionsDone * pricePerSession; return (

🧘 Salut, {user.name.split(" ")[0]} !

Ton espace Yog4Fight

{/* Compteur de séances */}

Séances restantes

{remaining} séance{remaining > 1 ? "s" : ""}

{sessionsDone} séance{sessionsDone > 1 ? "s" : ""} suivie {sessionsDone > 1 ? "s" : ""}

{/* Coût */}

Prix par séance

{pricePerSession} €

Coût si assidu

Tarif dégressif

Demande à Juanito le tarif dégressif qui s'applique à l'assiduité 💪

{/* Messages de Juanito */}

💬 Messages de Juanito{" "} {unreadCount > 0 && ( {unreadCount} nouveau(x) )}

{messages.length === 0 && (

Aucun message pour le moment.

)} {messages.map((msg: any) => (
{ if (!msg.isRead) { fetch("/api/messages", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ messageId: msg.id }), }).then(() => router.refresh()); } }} >

{msg.title}

{msg.content}

{new Date(msg.createdAt).toLocaleDateString("fr-FR")}

{!msg.isRead && ( )}
))}
{/* Historique séances */}

📋 Mes séances suivies

{attendances.length === 0 && (

Aucune séance enregistrée pour l'instant.

)}
{attendances.map((a: any) => (
{new Date(a.date).toLocaleDateString("fr-FR", { weekday: "long", day: "numeric", month: "long", year: "numeric", })} {a.pricePaid !== null && ( {a.pricePaid} € )}
))}
); }