import Link from "next/link"; import { prisma } from "@/lib/prisma"; import { requireSession } from "@/lib/session-helpers"; import { firstLessonPath } from "@/lib/course-queries"; import { getUserCourseProgress } from "@/lib/course-progress"; import { RestartCourseButton } from "@/components/restart-course-button"; export default async function PortalHomePage() { const session = await requireSession(); const enrollments = await prisma.enrollment.findMany({ where: { userId: session.user.id }, include: { course: { include: { modules: { orderBy: { sortOrder: "asc" }, include: { lessons: { where: { published: true }, orderBy: { sortOrder: "asc" }, select: { slug: true }, }, }, }, }, }, }, orderBy: { createdAt: "desc" }, }); const certs = await prisma.certificate.findMany({ where: { userId: session.user.id }, select: { courseId: true, code: true }, }); const certByCourse = new Map(certs.map((c) => [c.courseId, c.code])); return (
Deine Kurse, Fortschritt und nächste Schritte.
{enrollments.length === 0 ? (Du bist noch in keinem Kurs eingeschrieben.
Kurse entdeckenFortschritt: {p.completed}/{p.total} Lektionen ({p.percent}%)