diff --git a/internal/server/web/static/ai.js b/internal/server/web/static/ai.js index 2b3c4e4..c610833 100644 --- a/internal/server/web/static/ai.js +++ b/internal/server/web/static/ai.js @@ -258,7 +258,9 @@ } function where() { const act = W() && W().activePane(); - q('.ai-where').textContent = act ? '· ' + (act.agent ? act.agent.name : '') : ''; + const name = act && act.agent ? act.agent.name : ''; + q('.ai-where').textContent = name; + q('.ai-where').title = name; } // ---------- machines ---------- diff --git a/internal/server/web/static/app.css b/internal/server/web/static/app.css index 35415e1..a93d4b9 100644 --- a/internal/server/web/static/app.css +++ b/internal/server/web/static/app.css @@ -851,7 +851,9 @@ body.touch.term-active .ai-fab { bottom:104px; } .ai-fab { transition:transform .2s ease, box-shadow .2s ease; background:linear-gradient(135deg, #5b8cff, #8b5cf6); border:0; color:#fff; } .ai-fab:hover { transform:scale(1.06); box-shadow:0 10px 28px rgba(91,140,255,.45); } .ai-head { display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border); } -.ai-head .ai-where { font-size:12px; } +/* The machine the chat sees: its name on one line, cut with … */ +.ai-head .ai-where { flex:0 1 auto; min-width:0; max-width:30%; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } +.ai-head .ai-chatsel { flex:0 1 auto; } .ai-list { flex:1; overflow:auto; padding:12px; display:flex; flex-direction:column; gap:10px; } .ai-msg { max-width:92%; padding:8px 11px; border-radius:10px; font-size:14px; line-height:1.45; overflow-wrap:anywhere; } .ai-msg.user { align-self:flex-end; background:#16324f; white-space:pre-wrap; } @@ -1046,3 +1048,6 @@ body.no-motion *, body.no-motion *::before, body.no-motion *::after, body.no-mot font:12.5px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; white-space:pre; color:var(--text); } /* A command is shown as it is: no line broken inside it, a long one scrolls. */ .ui-note { margin:0; font-size:12px; color:var(--muted); } +/* Close buttons stay square, however tight the row they are in. */ +.btn.close.x { flex:none; aspect-ratio:1; min-width:0; } +.ai-head .ai-close { width:32px; height:32px; }