import { UserX } from "lucide-react" import { getStudentClasses } from "@/modules/classes/data-access" import { getCurrentStudentUser } from "@/modules/users/data-access" import { StudentCoursesView } from "@/modules/student/components/student-courses-view" import { CourseFilters } from "@/modules/student/components/course-filters" import { EmptyState } from "@/shared/components/ui/empty-state" import { getParam, type SearchParams } from "@/shared/lib/search-params" export const dynamic = "force-dynamic" export default async function StudentCoursesPage({ searchParams, }: { searchParams: Promise }) { const student = await getCurrentStudentUser() if (!student) { return (

Courses

Your enrolled classes.

) } const [sp, classes] = await Promise.all([ searchParams, getStudentClasses(student.id), ]) const q = (getParam(sp, "q") || "").toLowerCase().trim() const filteredClasses = q ? classes.filter((c) => { return ( c.name.toLowerCase().includes(q) || (c.teacherName?.toLowerCase().includes(q) ?? false) || (c.schoolName?.toLowerCase().includes(q) ?? false) || (c.homeroom?.toLowerCase().includes(q) ?? false) ) }) : classes return (

Courses

Your enrolled classes.

{classes.length > 0 && }
) }