Browse Source

思考中图标调整

liuchengsen 3 tuần trước cách đây
mục cha
commit
bc10c4bd08
1 tập tin đã thay đổi với 14 bổ sung7 xóa
  1. 14 7
      static/index.html

+ 14 - 7
static/index.html

@@ -35,9 +35,14 @@
     .content h3{font-size:15px;margin:16px 0 8px;color:var(--bk);font-weight:700}
     .content h3.src-section{font-size:14px;color:#555;font-weight:600;margin:12px 0 6px}
     .content .warn{color:var(--rd);font-weight:600}
-    .think-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--bk);animation:thinkPulse 1s infinite;vertical-align:middle;margin-right:6px}
-    @keyframes thinkPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
-    .thinking{color:var(--sub);font-size:13px;padding:4px 0}
+    .thinking{display:flex;align-items:center;gap:8px;color:var(--sub);font-size:13px;padding:4px 0}
+    .think-dots{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
+    .think-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--bk);animation:thinkBounce 1.2s infinite ease-in-out both}
+    .think-dot:nth-child(2){animation-delay:.16s}
+    .think-dot:nth-child(3){animation-delay:.32s}
+    @keyframes thinkBounce{0%,80%,100%{transform:scale(.55);opacity:.35;background:var(--bk)}40%{transform:scale(1.15);opacity:1;background:#1a3fbf}}
+    .think-text{color:var(--bk);background:linear-gradient(90deg,var(--bk) 0%,#8ab0ff 50%,var(--bk) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:thinkShimmer 1.4s linear infinite;font-weight:600}
+    @keyframes thinkShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
     .cursor{animation:blink .8s infinite;color:var(--bk);font-weight:700}
     @keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
     @keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
@@ -473,7 +478,7 @@
             var data=line.substring(5).trim();
             if(data==='[DONE]')continue;
             if(eventType==='status'){
-              contentDiv.innerHTML='<div class="thinking"><span class="think-dot"></span> '+esc(data)+'</div>';
+              contentDiv.innerHTML='<div class="thinking"><span class="think-dots"><span class="think-dot"></span><span class="think-dot"></span><span class="think-dot"></span></span><span class="think-text">'+esc(data)+'</span><span class="cursor">|</span></div>';
               document.getElementById('chat').scrollTop=document.getElementById('chat').scrollHeight;
               continue;
             }
@@ -487,8 +492,10 @@
               continue;
             }
             fullText+=data;
-            contentDiv.innerHTML=md2html(fullText)+'<span class="cursor">|</span>';
-            document.getElementById('chat').scrollTop=document.getElementById('chat').scrollHeight;
+            if(fullText.trim()){
+              contentDiv.innerHTML=md2html(fullText)+'<span class="cursor">|</span>';
+              document.getElementById('chat').scrollTop=document.getElementById('chat').scrollHeight;
+            }
             eventType='';
           }
         }
@@ -572,7 +579,7 @@
     if(media)pendingMedia=null;if(media)clearMedia();
     currentIntent=classifyIntent(query);
     var aiDiv=addMsg('ai','',true,currentIntent),contentDiv=aiDiv.querySelector('.content');
-    contentDiv.innerHTML='<div class="thinking"><span class="think-dot"></span> 检索中...</div>';
+    contentDiv.innerHTML='<div class="thinking"><span class="think-dots"><span class="think-dot"></span><span class="think-dot"></span><span class="think-dot"></span></span><span class="think-text">思考中</span><span class="cursor">|</span></div>';
     streamAsk(query,media,aiDiv,contentDiv);
   }