import { Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Checkbox, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, Input, Label, } from '@plunk/ui'; import type {Template} from '@plunk/db'; import type {PaginatedResponse} from '@plunk/types'; import {ArrowLeft, FileText, Search} from 'lucide-react'; import {useState} from 'react'; import useSWR from 'swr'; interface TemplateSelectionDialogProps { open: boolean; onOpenChange: (open: boolean) => void; onSelectTemplate: (template: Template, selectedFields: SelectedFields) => void; } interface SelectedFields { subject: boolean; body: boolean; from: boolean; fromName: boolean; replyTo: boolean; } export function TemplateSelectionDialog({open, onOpenChange, onSelectTemplate}: TemplateSelectionDialogProps) { const [search, setSearch] = useState(''); const [searchInput, setSearchInput] = useState(''); const [page, setPage] = useState(1); const [typeFilter, setTypeFilter] = useState<'ALL' | 'TRANSACTIONAL' | 'MARKETING'>('ALL'); const [step, setStep] = useState<'select' | 'configure'>('select'); const [selectedTemplate, setSelectedTemplate] = useState