'use client'; import { useState } from 'react'; import { useMutation, useSuspenseQuery } from '@tanstack/react-query'; import { toast } from 'sonner'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog'; import { Textarea } from '@/components/ui/textarea'; import { Button } from '@/components/ui/button'; import { quotationByIdOptions } from '../api/queries'; import { approveQuotationMutation, createQuotationRevisionMutation, markQuotationStatusMutation, rejectQuotationMutation, submitApprovalMutation } from '../api/mutations'; import { AuditTimeline, CustomerRoleCards, InfoGrid, QuotationPreviewPanel, QuotationStatusBadge, SectionCard, TimelineList } from './shared'; import { formatCurrency } from '../utils/format'; function ApprovalDialog({ title, description, actionLabel, onConfirm, isPending }: { title: string; description: string; actionLabel: string; onConfirm: (comment: string) => void; isPending: boolean; }) { const [comment, setComment] = useState(''); return ( {title} {description}