mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 22:48:11 +02:00
UI: bouton send/stop ne flotte plus au refresh (etat applique une fois au caught_up)
This commit is contained in:
1 parent
7192931ddc
commit
f9165fb204
1 file changed
+9
-4
+9
-4
@@ -1432,9 +1432,14 @@ function labelTokens(el, role, n, firstTs, lastTs){
|
|||||||
if(secs>0.05 && n>1){ setLabel(el, role+' · '+n+' tok · '+(n/secs).toFixed(1)+' tok/s'); }
|
if(secs>0.05 && n>1){ setLabel(el, role+' · '+n+' tok · '+(n/secs).toFixed(1)+' tok/s'); }
|
||||||
else { setLabel(el, role+' · '+n+' tok'); }
|
else { setLabel(el, role+' · '+n+' tok'); }
|
||||||
}
|
}
|
||||||
function setBusy(on){ busy=on;
|
// Pendant le replay on met à jour l'état `busy` mais on NE touche PAS aux boutons
|
||||||
document.getElementById('send').style.display=on?'none':'inline-block';
|
// (sinon user→stop puis turn_done→send à chaque tour rejoué = flottement visible).
|
||||||
document.getElementById('stop').style.display=on?'inline-block':'none'; }
|
// L'état final est appliqué une seule fois au caught_up via syncSendBtn().
|
||||||
|
function setBusy(on){ busy=on; if(!REPLAYING) syncSendBtn(); }
|
||||||
|
function syncSendBtn(){
|
||||||
|
document.getElementById('send').style.display=busy?'none':'inline-block';
|
||||||
|
document.getElementById('stop').style.display=busy?'inline-block':'none';
|
||||||
|
}
|
||||||
// Traite UN événement du flux — même sémantique que l'ancien switch inline, mais
|
// Traite UN événement du flux — même sémantique que l'ancien switch inline, mais
|
||||||
// piloté par le serveur et rejouable à l'identique.
|
// piloté par le serveur et rejouable à l'identique.
|
||||||
function handleDelta(d){
|
function handleDelta(d){
|
||||||
@@ -1442,7 +1447,7 @@ function handleDelta(d){
|
|||||||
if(d.caught_up){
|
if(d.caught_up){
|
||||||
// Fin du replay initial : on saute en bas puis on révèle (une seule fois — pas
|
// Fin du replay initial : on saute en bas puis on révèle (une seule fois — pas
|
||||||
// sur les reconnexions, pour ne pas te ramener en bas si tu lisais plus haut).
|
// sur les reconnexions, pour ne pas te ramener en bas si tu lisais plus haut).
|
||||||
if(REPLAYING){ REPLAYING=false; jumpBottom(); const c=chatEl(); c.style.transition='opacity .15s'; c.style.opacity='1'; }
|
if(REPLAYING){ REPLAYING=false; jumpBottom(); syncSendBtn(); const c=chatEl(); c.style.transition='opacity .15s'; c.style.opacity='1'; }
|
||||||
return; }
|
return; }
|
||||||
if(d.reset!==undefined){ document.getElementById('chat').innerHTML=''; newTurn(); setCtxUsed(0); lastSeq=0; setBusy(false); return; }
|
if(d.reset!==undefined){ document.getElementById('chat').innerHTML=''; newTurn(); setCtxUsed(0); lastSeq=0; setBusy(false); return; }
|
||||||
if(d.user!==undefined){ newTurn(); addMsg('user', d.user); setBusy(true); T.typingEl=addTyping(); return; }
|
if(d.user!==undefined){ newTurn(); addMsg('user', d.user); setBusy(true); T.typingEl=addTyping(); return; }
|
||||||
|
|||||||
Reference in new issue
Block a user