import type { Colle } from "~/lib/api"; import { Link } from "react-router"; import { Card } from "~/components/ui/card"; import { User, Star, CalendarDays, MapPin } from "lucide-react"; import { Badge } from "~/components/ui/badge"; import { Button } from "~/components/ui/button"; import { cn, formatDate, formatGrade, formatTime } from "~/lib/utils"; // TODO: Preferences for subject colors const getSubjectColor = (_: string) => { // Mock placeholder function return "bg-blue-100 text-blue-800"; // Default color }; const getSubjectEmoji = (_: string) => { // Mock placeholder function return "📚"; // Default emoji }; type ColleCardProps = { colle: Colle; onToggleFavorite: (id: number, favorite: boolean) => void; isFavorite: boolean; }; export default function ColleCard({ colle, onToggleFavorite, isFavorite, }: ColleCardProps) { // TODO: Favorites // const handleToggleFavorite = (e: React.MouseEvent) => { // e.stopPropagation(); // Prevent card click // e.preventDefault(); // const newValue = !isFavorite; // onToggleFavorite(colle.id, newValue); // }; const subjectColor = getSubjectColor(colle.subject.name); const subjectEmoji = getSubjectEmoji(colle.subject.name); return ( {colle.student.fullName} {colle.grade && ( {/* Ajouter aux favoris */} {formatGrade(colle.grade)}/20 )} {formatDate(colle.date)} à {formatTime(colle.date)} {colle.room?.name} {colle.examiner?.name} {colle.subject.name + " " + subjectEmoji} {isFavorite && ( Favori )} {/* TODO: Attachments */} {/* {colle.attachmentsCount > 0 && ( {colle.attachmentsCount} )} */} ); }