'use client'; import { useState } from 'react'; import { Block } from '@/lib/api'; interface SaveToLibraryModalProps { block: Block; isOpen: boolean; onClose: () => void; onSave: (name: string, description: string, tags: string[]) => Promise; } export default function SaveToLibraryModal({ block, isOpen, onClose, onSave, }: SaveToLibraryModalProps) { const [name, setName] = useState(''); const [description, setDescription] = useState(''); const [tagInput, setTagInput] = useState(''); const [tags, setTags] = useState([]); const [isSaving, setIsSaving] = useState(false); if (!isOpen) return null; const handleAddTag = () => { const trimmed = tagInput.trim(); if (trimmed && !tags.includes(trimmed)) { setTags([...tags, trimmed]); setTagInput(''); } }; const handleRemoveTag = (tagToRemove: string) => { setTags(tags.filter(t => t !== tagToRemove)); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (!name.trim()) return; setIsSaving(true); try { await onSave(name, description, tags); // Reset form setName(''); setDescription(''); setTags([]); setTagInput(''); onClose(); } catch (error) { console.error('Error saving to library:', error); alert('Error al guardar en la biblioteca. Por favor intenta de nuevo.'); } finally { setIsSaving(false); } }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === 'Enter' && tagInput.trim()) { e.preventDefault(); handleAddTag(); } }; return (

Guardar en Biblioteca

{/* Block Type Badge */}
{block.type}
{/* Name Input */}
setName(e.target.value)} placeholder="ej: Quiz de Matemáticas - Álgebra" className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500" required />
{/* Description Input */}