import { Draggable } from "@hello-pangea/dnd"; import { useLocaleState, useRedirect, useTranslate } from "ra-core"; import { Card, CardContent } from "@/components/ds/ui/card"; import { ReferenceField } from "@/components/ds/admin/reference-field"; import { TextField } from "@/components/ds/admin/text-field"; import { Calendar } from "lucide-react"; import type { Task } from "../types"; import { TaskTypeIcon } from "./TaskTypeIcon"; import { TaskPriorityBadge } from "./TaskPriorityBadge"; import { getRelativeDueDate } from "@/lib/date-utils"; export const TaskCard = ({ task, index }: { task: Task; index: number }) => { if (!task) return null; return ( {(provided, snapshot) => ( )} ); }; export const TaskCardContent = ({ provided, snapshot, task, }: { provided?: any; snapshot?: any; task: Task; }) => { const redirect = useRedirect(); const translate = useTranslate(); const [locale] = useLocaleState(); const handleClick = () => { redirect(`/tasks/${task.id}/show`, undefined, undefined, undefined, { _scrollToTop: false, }); }; const isCompleted = task.status === "done" || task.status === "cancelled"; const { text: relativeDueDate, isOverdue } = getRelativeDueDate( task.due_date || "", isCompleted, { translate, locale }, ); return (

{task.text}

{task.priority && } {task.due_date && (
{relativeDueDate}
)}
{task.contact_id && (
)} {!task.contact_id && task.company_id && ( )} {!task.contact_id && !task.company_id && task.deal_id && ( )} {!task.contact_id && !task.company_id && !task.deal_id && ( {translate("crm.task.related.none")} )}
); };