import { useEffect, useState } from 'react'; import { Modal, Box, Typography, TextField, Button } from '@mui/material'; import type { Titular } from '../types'; const style = { position: 'absolute' as 'absolute', top: '50%', left: '50%', transform: 'translate(-50%, -50%)', width: 400, bgcolor: 'background.paper', boxShadow: 24, p: 4, }; interface Props { open: boolean; onClose: () => void; onSave: (id: number, texto: string, viñeta: string) => void; titular: Titular | null; } const EditarTitularModal = ({ open, onClose, onSave, titular }: Props) => { const [texto, setTexto] = useState(''); const [viñeta, setViñeta] = useState(''); useEffect(() => { if (titular) { setTexto(titular.texto); // Usamos el valor real, incluso si es solo espacios o una cadena vacía. setViñeta(titular.viñeta ?? ''); } }, [titular]); const handleSave = () => { // Verificamos que el titular exista y que el texto principal no esté vacío. if (titular && texto.trim()) { const textoLimpio = texto.trim(); const viñetaSinLimpiar = viñeta; onSave(titular.id, textoLimpio, viñetaSinLimpiar); onClose(); } }; return ( Editar Titular setTexto(e.target.value)} /> setViñeta(e.target.value)} onKeyDown={(e) => e.key === 'Enter' && handleSave()} /> ); }; export default EditarTitularModal;