
A project task card displaying priority status, task details, assignee, and calendar due date.
components/blocks/app/project/project-3.tsx
import { Calendar, MoreHorizontal } from "lucide-react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
export const AppProject3 = () => {
return (
<Card>
<CardHeader>
<div className="flex items-center justify-between">
<div className="flex items-center gap-2">
<Badge variant="outline">Medium</Badge>
<Badge variant="secondary">Planned</Badge>
</div>
<CardAction>
<DropdownMenu>
<DropdownMenuTrigger
render={
<Button variant="ghost" size="icon-xs" className="cursor-pointer">
<MoreHorizontal className="size-4" />
<span className="sr-only">Open options</span>
</Button>
}></DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuItem className="cursor-pointer">Edit Task</DropdownMenuItem>
<DropdownMenuItem className="cursor-pointer">Mark Complete</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
</CardAction>
</div>
</CardHeader>
<CardContent className="flex flex-col gap-4">
<div className="flex flex-col gap-1.5">
<CardTitle className="text-lg">Implement multi-factor authentication</CardTitle>
<CardDescription>
Add support for authenticator apps (TOTP) and SMS verification in the user settings dashboard.
</CardDescription>
</div>
<div className="flex items-center justify-between">
<div className="flex items-center gap-3">
<Avatar size="lg">
<AvatarImage
src="https://images.unsplash.com/photo-1544005313-94ddf0286df2?auto=format&fit=facearea&facepad=2&w=256&h=256&q=80"
alt="Elena Rostova"
/>
<AvatarFallback>ER</AvatarFallback>
</Avatar>
<div className="flex flex-col">
<span className="text-sm font-medium">Elena Rostova</span>
<span className="text-muted-foreground text-xs">Assignee</span>
</div>
</div>
<div className="text-muted-foreground flex items-center gap-2 text-sm">
<Calendar className="size-4" />
<span>Due Jun 30</span>
</div>
</div>
</CardContent>
</Card>
);
};