feat: the assistant's answers in Markdown; thinking shows «Думаю…», then «Думал N с», opening smoothly by its arrow

This commit is contained in:
redtea committed 2026-10-16 09:33:23 +03:00
1 parent 4b7220fffb
commit 4da1cc4200
4 files changed
+103 -12

No files matched your search

+23 -3
View File
@@ -887,9 +887,6 @@ dialog.uidlg { width:auto; min-width:min(320px, 92vw); max-width:min(560px, 92vw
background:transparent; color:var(--muted); border:1px solid var(--border); transition:background .18s, color .18s, border-color .18s; }
.ai-pill:hover { color:var(--text); border-color:#3a4554; }
.ai-pill[aria-pressed="true"] { background:rgba(91,140,255,.16); color:#9db8ff; border-color:rgba(91,140,255,.55); }
.ai-think { margin:0 0 6px; font-size:12.5px; color:var(--muted); }
.ai-think summary { cursor:pointer; }
.ai-think > div { margin-top:4px; padding-left:10px; border-left:2px solid var(--border); max-height:200px; overflow:auto; }
/* The chat's title moves it on a computer. */
body:not(.touch) .ai-head { cursor:grab; user-select:none; }
body.ai-dragging, body.ai-dragging * { cursor:grabbing !important; user-select:none; }
@@ -926,3 +923,26 @@ body.ai-dragging .ai-fab, body.ai-dragging .ai-box { transition:none; }
/* Moving between Машины, WorkSpace and Настройки: the page comes in softly. */
main#app > .view:not([hidden]) { animation:view-in .22s ease both; }
@keyframes view-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
/* The assistant's answer: Markdown, and its thinking folded above. */
.ai-text p { margin:0 0 6px; } .ai-text p:last-child { margin-bottom:0; }
.ai-text h4 { margin:8px 0 4px; font-size:14px; }
.ai-text ul, .ai-text ol { margin:2px 0 6px; padding-left:20px; }
.ai-text li { margin:2px 0; }
.ai-text code { font:12.5px ui-monospace, SFMono-Regular, Menlo, monospace; background:#0c0f13; border:1px solid var(--border); border-radius:5px; padding:0 4px; }
.ai-text blockquote { margin:4px 0; padding-left:10px; border-left:2px solid var(--border); color:var(--muted); }
.ai-text a { color:var(--accent); }
.ai-text hr { border:0; border-top:1px solid var(--border); margin:8px 0; }
.ai-think { margin:0 0 6px; }
.ai-think[hidden] { display:none; }
.ai-think-h { display:inline-flex; align-items:center; gap:5px; padding:2px 4px 2px 0; background:none; border:0; color:var(--muted); font-size:12.5px; cursor:pointer; }
.ai-think-h:hover { color:var(--text); }
.ai-think-h svg { transition:transform .2s ease; }
.ai-think.open .ai-think-h svg { transform:rotate(90deg); }
.ai-think.going .ai-think-h span { background:linear-gradient(90deg, var(--muted) 30%, var(--text) 50%, var(--muted) 70%) 0 0/200% 100%;
-webkit-background-clip:text; background-clip:text; color:transparent; animation:ai-shine 1.4s linear infinite; }
@keyframes ai-shine { to { background-position:-200% 0; } }
.ai-think-b { display:grid; grid-template-rows:0fr; transition:grid-template-rows .22s ease, opacity .2s ease; opacity:0; }
.ai-think.open .ai-think-b { grid-template-rows:1fr; opacity:1; }
.ai-think-in { min-height:0; overflow:hidden; font-size:12px; color:var(--muted); line-height:1.45; }
.ai-think.open .ai-think-in { margin-top:4px; padding-left:10px; border-left:2px solid var(--border); max-height:220px; overflow:auto; }
.ai-think-in p { margin:0 0 4px; }