2026-02-04 02:28:51 +05:30
|
|
|
import { CalendarClock, UserCircle } from "lucide-react";
|
|
|
|
|
|
|
|
|
|
import { StatusPill } from "@/components/atoms/StatusPill";
|
|
|
|
|
import { Card, CardContent } from "@/components/ui/card";
|
|
|
|
|
|
|
|
|
|
interface TaskCardProps {
|
|
|
|
|
title: string;
|
|
|
|
|
status: string;
|
|
|
|
|
assignee?: string;
|
|
|
|
|
due?: string;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function TaskCard({ title, status, assignee, due }: TaskCardProps) {
|
|
|
|
|
return (
|
2026-02-04 13:03:18 +05:30
|
|
|
<Card className="border border-[color:var(--border)] bg-[color:var(--surface)]">
|
2026-02-04 02:28:51 +05:30
|
|
|
<CardContent className="space-y-4">
|
|
|
|
|
<div className="flex items-start justify-between gap-3">
|
2026-02-04 13:03:18 +05:30
|
|
|
<div className="space-y-2">
|
|
|
|
|
<p className="text-sm font-semibold text-strong">{title}</p>
|
2026-02-04 02:28:51 +05:30
|
|
|
<StatusPill status={status} />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-02-04 13:03:18 +05:30
|
|
|
<div className="flex items-center justify-between text-xs text-muted">
|
2026-02-04 02:28:51 +05:30
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
|
<UserCircle className="h-4 w-4" />
|
|
|
|
|
<span>{assignee ?? "Unassigned"}</span>
|
|
|
|
|
</div>
|
|
|
|
|
{due ? (
|
|
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
|
<CalendarClock className="h-4 w-4" />
|
|
|
|
|
<span>{due}</span>
|
|
|
|
|
</div>
|
|
|
|
|
) : null}
|
|
|
|
|
</div>
|
|
|
|
|
</CardContent>
|
|
|
|
|
</Card>
|
|
|
|
|
);
|
|
|
|
|
}
|