Versión 1.0: Aplicación funcionalmente completa con todas las características principales implementadas.
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
// frontend/src/components/EditarTitularModal.tsx
|
||||
|
||||
import { useEffect, useState } from 'react';
|
||||
import { Modal, Box, Typography, TextField, Button } from '@mui/material';
|
||||
import type { Titular } from '../types';
|
||||
@@ -26,17 +24,20 @@ 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
|
||||
// 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()) {
|
||||
onSave(titular.id, texto.trim(), viñeta.trim());
|
||||
const textoLimpio = texto.trim();
|
||||
const viñetaSinLimpiar = viñeta;
|
||||
onSave(titular.id, textoLimpio, viñetaSinLimpiar);
|
||||
onClose();
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user