summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorsigoden <sigoden@gmail.com>2024-06-26 21:51:06 +0800
committerGitHub <noreply@github.com>2024-06-26 21:51:06 +0800
commit5985551abaf9418c1c37ef9fd6db39a6c9c94d69 (patch)
treed7003f3706572ee5740fba0dfdff703806379501 /src/render
parent03b40036a177468b1c471eefd365d6f6bc283a7c (diff)
downloadaichat-5985551abaf9418c1c37ef9fd6db39a6c9c94d69.tar.gz
feat: rag load websites (#655)
Diffstat (limited to 'src/render')
-rw-r--r--src/render/stream.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/render/stream.rs b/src/render/stream.rs
index 0c70bce..042bfe5 100644
--- a/src/render/stream.rs
+++ b/src/render/stream.rs
@@ -1,6 +1,6 @@
use super::{MarkdownRender, SseEvent};
-use crate::utils::{run_spinner, AbortSignal};
+use crate::utils::{create_spinner, AbortSignal};
use anyhow::Result;
use crossterm::{
@@ -62,16 +62,15 @@ async fn markdown_stream_inner(
let columns = terminal::size()?.0;
- let (stop_spinner_tx, _) = run_spinner("Generating").await;
- let mut stop_spinner_tx = Some(stop_spinner_tx);
+ let mut spinner = Some(create_spinner("Generating").await);
'outer: loop {
if abort.aborted() {
return Ok(());
}
for reply_event in gather_events(&mut rx).await {
- if let Some(stop_spinner_tx) = stop_spinner_tx.take() {
- let _ = stop_spinner_tx.send(());
+ if let Some(spinner) = spinner.take() {
+ spinner.stop();
}
match reply_event {
@@ -149,8 +148,8 @@ async fn markdown_stream_inner(
}
}
- if let Some(stop_spinner_tx) = stop_spinner_tx.take() {
- let _ = stop_spinner_tx.send(());
+ if let Some(spinner) = spinner.take() {
+ spinner.stop();
}
Ok(())
}