'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { X, Calendar, Tag, Clock, CheckCircle, AlertCircle, Trash2, Edit, Copy } from 'lucide-react'; import { Button } from '@/components/ui/button'; import type { Template } from './index'; interface TemplateDetailModalProps { template: Template | null; isOpen: boolean; onClose: () => void; } export function TemplateDetailModal({ template, isOpen, onClose }: TemplateDetailModalProps) { const [isDeleting, setIsDeleting] = useState(false); const router = useRouter(); if (!isOpen || !template) return null; const IconComponent = template.icon; const getStatusColor = (status: string) => { switch (status) { case 'active': return 'bg-emerald-500'; case 'coming-soon': return 'bg-amber-500'; case 'draft': return 'bg-gray-500'; default: return 'bg-gray-500'; } }; const getStatusText = (status: string) => { switch (status) { case 'active': return 'Disponible'; case 'coming-soon': return 'Próximamente'; case 'draft': return 'Borrador'; default: return 'Desconocido'; } }; const getStatusBadgeClass = (status: string) => { switch (status) { case 'active': return 'bg-emerald-100 dark:bg-emerald-900/20 text-emerald-700 dark:text-emerald-400'; case 'coming-soon': return 'bg-amber-100 dark:bg-amber-900/20 text-amber-700 dark:text-amber-400'; case 'draft': return 'bg-gray-100 dark:bg-gray-900/20 text-gray-700 dark:text-gray-400'; default: return 'bg-gray-100 dark:bg-gray-900/20 text-gray-700 dark:text-gray-400'; } }; const handleDelete = () => { setIsDeleting(true); // Simulación de eliminación setTimeout(() => { setIsDeleting(false); onClose(); }, 1500); }; return (
{template.category}
{template.description}