Actualizar frontend/src/pages/Asesores.jsx
This commit is contained in:
@@ -83,8 +83,21 @@ export default function Asesores() {
|
|||||||
.catch((e)=>{ setError(e.message); setLoading(false); });
|
.catch((e)=>{ setError(e.message); setLoading(false); });
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
// Refresco SILENCIOSO (sin spinner ni parpadeo): solo actualiza los estados.
|
||||||
|
const refrescarSilencioso = useCallback(() => {
|
||||||
|
api.asesores()
|
||||||
|
.then((res)=>{ if (Array.isArray(res.agentes)) setAgentes(res.agentes); })
|
||||||
|
.catch(()=>{}); // si falla, no molesta al usuario
|
||||||
|
}, []);
|
||||||
|
|
||||||
useEffect(() => { cargar(); }, [cargar]);
|
useEffect(() => { cargar(); }, [cargar]);
|
||||||
|
|
||||||
|
// Auto-actualización cada 30 segundos, en silencio.
|
||||||
|
useEffect(() => {
|
||||||
|
const id = setInterval(refrescarSilencioso, 30000);
|
||||||
|
return () => clearInterval(id);
|
||||||
|
}, [refrescarSilencioso]);
|
||||||
|
|
||||||
async function toggle(ag) {
|
async function toggle(ag) {
|
||||||
const online = ag.availability_status !== "online";
|
const online = ag.availability_status !== "online";
|
||||||
setCambiando(ag.id);
|
setCambiando(ag.id);
|
||||||
|
|||||||
Reference in New Issue
Block a user