"use client"; import { useState } from "react"; import { format } from "date-fns"; import { tr } from "date-fns/locale"; import { Card, CardContent, Badge, Button, Textarea, Label } from "poyraz-ui/atoms"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger, DialogFooter } from "poyraz-ui/molecules"; import { CheckCircle2, Clock, MessageSquare, Loader2, RefreshCw } from "lucide-react"; import toast from "react-hot-toast"; import { createRevisionRequest } from "./actions"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "poyraz-ui/molecules"; export function PortalProjectClient({ project, sections, tasks, revisions, clientId }: any) { const [isSubmitting, setIsSubmitting] = useState(false); const [openRevision, setOpenRevision] = useState(false); const handleRevision = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); const formData = new FormData(e.currentTarget); try { const res = await createRevisionRequest(project.id, clientId, formData); if (res.error) throw new Error(res.error); toast.success("Revizyon talebiniz başarıyla iletildi."); setOpenRevision(false); } catch (err: any) { toast.error(err.message); } finally { setIsSubmitting(false); } }; const pendingRevisions = revisions.filter((r: any) => r.status === 'pending' || r.status === 'in_progress').length; const hasRevisionQuota = project.revision_quota === null || project.revision_quota > 0; return (
{/* Header Info */}

{project.name}

{project.description &&

{project.description}

}
{project.status} {hasRevisionQuota ? (
Yeni Revizyon Talebi
{pendingRevisions > 0 && (
Şu anda sonuçlanmamış {pendingRevisions} adet revizyon talebiniz var. Yeni bir tane eklemek istediğinize emin misiniz?
)}