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

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

Freelancer'ınız sizin için hesabı oluşturdu ancak müşteri kartınızla henüz eşleşmedi veya bir hata oluştu. Lütfen iletişime geçin.

); } // 2. Get Projects const { data: projectsData } = await supabase .from("projects") .select("id, name, status, progress, due_date, budget_amount, currency") .eq("client_id", clientData.id) .order("created_at", { ascending: false }); const projects = projectsData || []; const activeProjects = projects.filter(p => p.status !== 'completed' && p.status !== 'cancelled'); const completedProjects = projects.filter(p => p.status === 'completed'); return (

Hoş Geldiniz, {clientData.name}

İş süreçlerinizi ve aktif projelerinizi buradan takip edebilirsiniz.

Aktif Projeler

{activeProjects.length}

Tamamlanan

{completedProjects.length}

Tüm Projeleriniz

{projects.length === 0 ? (
Henüz size atanmış bir proje bulunmuyor.
) : ( projects.map(project => (

{project.name}

{project.status}
{project.due_date && (
Son Teslim: {format(new Date(project.due_date), 'd MMM yyyy', { locale: tr })}
)}
İlerleme %{project.progress}
)) )}
); }