// frontend/src/components/EditarTitularModal.tsx 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(''); // Este efecto actualiza el estado del formulario cuando se selecciona un titular para editar useEffect(() => { if (titular) { setTexto(titular.texto); setViñeta(titular.viñeta ?? '•'); // Default a '•' si es nulo } }, [titular]); const handleSave = () => { if (titular && texto.trim()) { onSave(titular.id, texto.trim(), viñeta.trim()); onClose(); } }; return ( Editar Titular setTexto(e.target.value)} /> setViñeta(e.target.value)} onKeyDown={(e) => e.key === 'Enter' && handleSave()} /> ); }; export default EditarTitularModal;