get message

This commit is contained in:
2026-02-11 14:29:09 -06:00
parent 81eade6a4d
commit c0bac907de
+41 -13
View File
@@ -22,25 +22,44 @@ interface EnviarMensajeProps {
titulo: string; titulo: string;
} }
interface Mensaje {
id_mensaje: number;
mensaje: string;
}
const EnviarMensaje = ({ titulo }: EnviarMensajeProps) => { const EnviarMensaje = ({ titulo }: EnviarMensajeProps) => {
const [equipos, setEquipos] = useState<Equipo[]>([]); const [equipos, setEquipos] = useState<Equipo[]>([]);
const [equipoSeleccionado, setEquipoSeleccionado] = useState<any>(null); const [equipoSeleccionado, setEquipoSeleccionado] = useState<any>(null);
const [loadingEquipos, setLoadingEquipos] = useState(false); const [loadingEquipos, setLoadingEquipos] = useState(false);
const [open, setOpen] = useState(false); const [open, setOpen] = useState(false);
const [mensaje, setMensaje] = useState(""); const [mensaje, setMensaje] = useState("");
const [mensajes, setMensajes] = useState<Mensaje[]>([]);
const [loadingMensajes, setLoadingMensajes] = useState(false);
const [customMsg, setCustomMsg] = useState(""); const [customMsg, setCustomMsg] = useState("");
useEffect(() => { useEffect(() => {
const fetchEquipos = async () => { const fetchData = async () => {
try { try {
const response = await axios.get(`${envConfig.apiUrl}/equipo/busy`); setLoadingMensajes(true);
setEquipos(response.data);
const [equiposRes, mensajesRes] = await Promise.all([
axios.get(`${envConfig.apiUrl}/equipo/busy`),
axios.get(`${envConfig.apiUrl}/mensaje`)
]);
setEquipos(equiposRes.data);
setMensajes(mensajesRes.data);
} catch (error) { } catch (error) {
console.error("Error cargando equipos:", error); console.error("Error cargando datos:", error);
} finally {
setLoadingMensajes(false);
} }
}; };
fetchEquipos(); fetchData();
}, []); }, []);
const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => { const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
@@ -111,15 +130,24 @@ const EnviarMensaje = ({ titulo }: EnviarMensajeProps) => {
<label className="label">Seleccione el mensaje</label> <label className="label">Seleccione el mensaje</label>
<div className="groupInput"> <div className="groupInput">
<select value={mensaje} onChange={(e) => setMensaje(e.target.value)}> <select
<option value="">-- Seleccione el mensaje --</option> value={mensaje}
<option value="cerrar">No olvides cerrar sesión</option> onChange={(e) => setMensaje(e.target.value)}
<option value="alerta1"> Atención</option> >
<option value="alerta2">🔔 Aviso importante</option> <option value="">
<option value="alerta3"> Confirmación</option> {loadingMensajes
</select> ? "Cargando mensajes..."
</div> : "Seleccione un mensaje"}
</option>
{mensajes.map((msg) => (
<option key={msg.id_mensaje} value={msg.mensaje}>
{msg.mensaje}
</option>
))}
</select>
</div>
<label className="label">Mensaje personalizado</label> <label className="label">Mensaje personalizado</label>