import { redirect } from "next/navigation"; import { auth } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { format, subMonths, startOfMonth, endOfMonth } from "date-fns"; import { fr } from "date-fns/locale"; import { Download, Lock } from "lucide-react"; export const dynamic = "force-dynamic"; export const metadata = { title: "Mes Rapports — Diabetix" }; export default async function RapportsPage() { const session = await auth(); if (!session?.user?.id) redirect("/auth/login"); const userId = session.user.id; const user = await prisma.user.findUnique({ where: { id: userId } }); const isPremium = user?.plan === "PREMIUM"; const months = Array.from({ length: 12 }, (_, i) => { return subMonths(startOfMonth(new Date()), i); }); const readingsByMonth = await Promise.all( months.map(async (month) => { const count = await prisma.reading.count({ where: { userId, measuredAt: { gte: month, lte: endOfMonth(month), }, }, }); return { month, count }; }) ); // Filter to only show months with readings const monthsWithReadings = readingsByMonth.filter(({ count }) => count > 0); return (
Téléchargez vos rapports glycémie mensuels en PDF
Feature Premium
Les rapports PDF sont exclusifs au plan Premium. Passer à Premium pour y accéder.
{format(month, "MMMM yyyy", { locale: fr })}
{count} mesure(s)
Aucune donnée
)}Aucun mois avec des données.