import type { JSX } from "react" import { Suspense } from "react" import { Calendar } from "lucide-react" import { getClassSchedule, getTeacherClasses } from "@/modules/classes/data-access" import { ScheduleFilters } from "@/modules/classes/components/schedule-filters" import { ScheduleView } from "@/modules/classes/components/schedule-view" import { EmptyState } from "@/shared/components/ui/empty-state" import { Skeleton } from "@/shared/components/ui/skeleton" import { getParam, type SearchParams } from "@/shared/lib/search-params" export const dynamic = "force-dynamic" async function ScheduleResults({ searchParams }: { searchParams: Promise }): Promise { const params = await searchParams const classId = getParam(params, "classId") const classes = await getTeacherClasses() const schedule = await getClassSchedule({ classId: classId && classId !== "all" ? classId : undefined, }) const hasFilters = Boolean(classId && classId !== "all") if (schedule.length === 0) { return ( ) } return } function ScheduleResultsFallback() { return (
{Array.from({ length: 6 }).map((_, idx) => (
))}
) } export default async function SchedulePage({ searchParams }: { searchParams: Promise }): Promise { const classes = await getTeacherClasses() return (
}> }>
) }