'use client' import { useState } from 'react' import { Card, CardContent, CardHeader } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { ConfirmDialog } from '@/components/common/ConfirmDialog' import { Badge } from '@/components/ui/badge' import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible' import { ChevronDown, ChevronRight, Trash2, Wand2, Edit } from 'lucide-react' import { Transformation } from '@/lib/types/transformations' import { useDeleteTransformation } from '@/lib/hooks/use-transformations' import { cn } from '@/lib/utils' interface TransformationCardProps { transformation: Transformation onPlayground?: () => void onEdit?: () => void } export function TransformationCard({ transformation, onPlayground, onEdit }: TransformationCardProps) { const [isExpanded, setIsExpanded] = useState(false) const [showDeleteDialog, setShowDeleteDialog] = useState(false) const deleteTransformation = useDeleteTransformation() const handleDelete = () => { deleteTransformation.mutate(transformation.id) setShowDeleteDialog(false) } return ( <> {isExpanded ? ( ) : ( )} {transformation.name} {!isExpanded && transformation.description && ( {transformation.description} )} {transformation.apply_default && ( default )} {onPlayground && ( Playground )} {onEdit && ( Edit )} setShowDeleteDialog(true)} > Title {transformation.title || 'Untitled'} {transformation.description && ( Description {transformation.description} )} Prompt {transformation.prompt} > ) }
Title
{transformation.title || 'Untitled'}
Description
{transformation.description}
Prompt
{transformation.prompt}