mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Captures d'écran : visibles en entier, jamais repliées d'office
La carte d'outil qui porte une capture (web_screenshot) échappe au plafond de 280 px — l'image se montrait par le trou d'une serrure — et au repli automatique : l'image EST le résultat, la replier la cachait sitôt prise. Elle garde son max-height propre (420 px) et s'ouvre plein écran au clic. Retirée de la liste de repli du tour pour survivre aussi au repli de fin de tour. Au rejeu du journal, elle arrive repliée comme le reste de l'historique. Version 0.12.2. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
66072e4047
commit
50fccdc9ad
7 files changed
+28
-8
No files matched your search
@@ -693,6 +693,10 @@ textarea.sctl{min-height:76px;resize:vertical;line-height:1.5}
|
||||
défilant toute seule (voir flushRender, 09-stream.js). L'animation de repli
|
||||
garde son overflow:hidden via la hauteur inline — les deux cohabitent. */
|
||||
.msg.reasoning .bodywrap,.msg.tool .bodywrap{max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
|
||||
/* Une capture d'écran ne se lit pas par le trou d'une serrure : la carte qui en
|
||||
porte une échappe au plafond (l'image a déjà son propre max-height à 420 px,
|
||||
cliquable plein écran via la visionneuse). */
|
||||
.msg.tool .bodywrap:has(.tool-shot){max-height:none}
|
||||
.msg.collapsible .bodywrap>.body{min-width:0}
|
||||
.msg.collapsible.collapsed .bodywrap{opacity:0;margin-top:0}
|
||||
/* Composer = un seul bloc cohérent : barre de contexte intégrée en tête (fine
|
||||
@@ -6611,8 +6615,14 @@ function handleDelta(d){
|
||||
// tour continue, et rien d'autre n'est visible). Sinon, comportement inchangé.
|
||||
if(!tu.done || viewOn('hide-tools')) showTyping('tool');
|
||||
// Résultat arrivé : la carte est finie, elle se replie tout de suite (en
|
||||
// direct seulement — au rejeu elle est déjà née repliée).
|
||||
if(tu.done){ if(!REPLAYING && T.pendingToolEl) collapseBody(T.pendingToolEl); T.pendingToolEl=null; if(tu.name==='mem_add'||tu.name==='mem_edit') loadMem(); }
|
||||
// direct seulement — au rejeu elle est déjà née repliée). SAUF une capture
|
||||
// d'écran : l'image EST le résultat, la replier la cacherait sitôt prise.
|
||||
if(tu.done){
|
||||
if(!REPLAYING && T.pendingToolEl && !tu.image) collapseBody(T.pendingToolEl);
|
||||
// Carte à image : retirée de la liste du tour, sinon le repli de fin de
|
||||
// tour (collapseAll) la fermerait quand même.
|
||||
if(tu.image && T.pendingToolEl){ const i=T.turnCollapsibles.indexOf(T.pendingToolEl); if(i>=0) T.turnCollapsibles.splice(i,1); }
|
||||
T.pendingToolEl=null; if(tu.name==='mem_add'||tu.name==='mem_edit') loadMem(); }
|
||||
return; }
|
||||
if(d.drop_reasoning){
|
||||
smoothReset(); cancelRender(); // le bloc raisonnement disparaît : rien à rendre
|
||||
|
||||
@@ -485,8 +485,14 @@ function handleDelta(d){
|
||||
// tour continue, et rien d'autre n'est visible). Sinon, comportement inchangé.
|
||||
if(!tu.done || viewOn('hide-tools')) showTyping('tool');
|
||||
// Résultat arrivé : la carte est finie, elle se replie tout de suite (en
|
||||
// direct seulement — au rejeu elle est déjà née repliée).
|
||||
if(tu.done){ if(!REPLAYING && T.pendingToolEl) collapseBody(T.pendingToolEl); T.pendingToolEl=null; if(tu.name==='mem_add'||tu.name==='mem_edit') loadMem(); }
|
||||
// direct seulement — au rejeu elle est déjà née repliée). SAUF une capture
|
||||
// d'écran : l'image EST le résultat, la replier la cacherait sitôt prise.
|
||||
if(tu.done){
|
||||
if(!REPLAYING && T.pendingToolEl && !tu.image) collapseBody(T.pendingToolEl);
|
||||
// Carte à image : retirée de la liste du tour, sinon le repli de fin de
|
||||
// tour (collapseAll) la fermerait quand même.
|
||||
if(tu.image && T.pendingToolEl){ const i=T.turnCollapsibles.indexOf(T.pendingToolEl); if(i>=0) T.turnCollapsibles.splice(i,1); }
|
||||
T.pendingToolEl=null; if(tu.name==='mem_add'||tu.name==='mem_edit') loadMem(); }
|
||||
return; }
|
||||
if(d.drop_reasoning){
|
||||
smoothReset(); cancelRender(); // le bloc raisonnement disparaît : rien à rendre
|
||||
|
||||
@@ -662,6 +662,10 @@ textarea.sctl{min-height:76px;resize:vertical;line-height:1.5}
|
||||
défilant toute seule (voir flushRender, 09-stream.js). L'animation de repli
|
||||
garde son overflow:hidden via la hauteur inline — les deux cohabitent. */
|
||||
.msg.reasoning .bodywrap,.msg.tool .bodywrap{max-height:280px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
|
||||
/* Une capture d'écran ne se lit pas par le trou d'une serrure : la carte qui en
|
||||
porte une échappe au plafond (l'image a déjà son propre max-height à 420 px,
|
||||
cliquable plein écran via la visionneuse). */
|
||||
.msg.tool .bodywrap:has(.tool-shot){max-height:none}
|
||||
.msg.collapsible .bodywrap>.body{min-width:0}
|
||||
.msg.collapsible.collapsed .bodywrap{opacity:0;margin-top:0}
|
||||
/* Composer = un seul bloc cohérent : barre de contexte intégrée en tête (fine
|
||||
|
||||
Reference in new issue
Block a user