import { createClient } from "@/lib/supabase/server"; import { Card, CardContent, Badge } from "poyraz-ui/atoms"; import { CheckCircle2, Clock, CalendarDays, KanbanSquare } from "lucide-react"; import Link from "next/link"; import { format } from "date-fns"; import { tr } from "date-fns/locale"; export default async function PortalTasksPage() { const supabase = await createClient(); const { data: { user } } = await supabase.auth.getUser(); if (!user) return null; const { data: clientData } = await supabase .from("clients") .select("id") .eq("client_auth_id", user.id) .single(); if (!clientData) { return (

Hesabınız Henüz Aktif Değil

); } const { data: projectsData } = await supabase .from("projects") .select("id, name") .eq("client_id", clientData.id); const projectIds = projectsData?.map(p => p.id) || []; let tasks = []; if (projectIds.length > 0) { const { data: tasksData } = await supabase .from("tasks") .select("id, title, status, project_id, created_at, date, priority") .in("project_id", projectIds) .eq("is_public_to_client", true) .order("created_at", { ascending: false }); tasks = tasksData || []; } const getProjectName = (id: string) => projectsData?.find(p => p.id === id)?.name || "Bilinmeyen Proje"; return (

Yapılan Görevler

Sizinle paylaşılan aktif ve tamamlanmış görevleri buradan takip edebilirsiniz.

{tasks.length === 0 ? (
Henüz sizinle paylaşılan bir görev bulunmuyor.
) : ( tasks.map(task => (

{task.title}

{task.status === 'todo' ? 'Bekliyor' : task.status === 'in_progress' ? 'İşleniyor' : 'Tamamlandı'}
{getProjectName(task.project_id)}
{task.date ? format(new Date(task.date), 'd MMM yyyy', { locale: tr }) : 'Tarih yok'}
{task.status === 'completed' || task.status === 'done' ? ( ) : ( )}
)) )}
); }