"use client" import { Card, CardContent, CardHeader, CardTitle } from "@/shared/components/ui/card" import { Badge } from "@/shared/components/ui/badge" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/shared/components/ui/table" import { AlertTriangle, CheckCircle2 } from "lucide-react" import type { AutoScheduleResult } from "../types" const WEEKDAY_LABELS = ["", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] export function AutoScheduleResultView({ result }: { result: AutoScheduleResult }) { const sortedSchedules = [...result.schedules].sort( (a, b) => a.weekday - b.weekday || a.startTime.localeCompare(b.startTime) ) return (
Generated Schedule
{result.scheduledCount} sessions 0 ? "destructive" : "default"}> {result.conflictCount} conflicts
{sortedSchedules.length === 0 ? (

No sessions generated.

) : ( Day Start End Course Location {sortedSchedules.map((s, idx) => ( {WEEKDAY_LABELS[s.weekday] ?? `Day ${s.weekday}`} {s.startTime} {s.endTime} {s.course} {s.location ?? "-"} ))}
)}
{result.conflicts.length > 0 && ( Conflicts & Warnings
    {result.conflicts.map((c, idx) => (
  • {c.type} {c.description}
  • ))}
)} {result.conflicts.length === 0 && result.scheduledCount > 0 && ( No conflicts detected. The schedule is ready to apply. )}
) }