import { Card, CardContent, Badge } from "poyraz-ui/atoms"; import { CheckCircle2, Clock, CalendarDays, KanbanSquare } from "lucide-react"; import { format } from "date-fns"; import { tr } from "date-fns/locale"; import { requirePortalBackend } from "@/server/web/portal"; export default async function PortalTasksPage() { const { actor, service } = await requirePortalBackend(); const projects = service.listProjects(actor); const projectNames = new Map(projects.map((project) => [project.id, project.name])); const tasks = service.listTasks(actor) .filter((task) => task.projectId && projectNames.has(task.projectId) && task.status !== "cancelled") .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime()); return (

Yapılan Görevler

{tasks.length === 0 ? (
Henüz sizinle paylaşılan bir görev bulunmuyor.
) : tasks.map((task) => { const isDone = task.status === "done"; const date = task.dueAt?.toISOString() ?? task.scheduledDate; return (

{task.title}

{task.status === "todo" ? "Bekliyor" : task.status === "in_progress" ? "İşleniyor" : "Tamamlandı"}
{projectNames.get(task.projectId!)}
{date ? format(new Date(date), "d MMM yyyy", { locale: tr }) : "Tarih yok"}
{isDone ? : }
); })}
); }