'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 { useTranslation } from '@/lib/hooks/use-translation' import { cn } from '@/lib/utils' interface TransformationCardProps { transformation: Transformation onPlayground?: () => void onEdit?: () => void } export function TransformationCard({ transformation, onPlayground, onEdit }: TransformationCardProps) { const { t } = useTranslation() 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 && ( {t('common.default')} )}
{onPlayground && ( )} {onEdit && ( )}

{t('common.title')}

{transformation.title || t('sources.untitledSource')}

{transformation.description && (

{t('common.description')}

{transformation.description}

)}

{t('transformations.systemPrompt')}

                  {transformation.prompt}
                
) }