diff --git a/bin/chat-cli/src/app.rs b/bin/chat-cli/src/app.rs index 7233560..30c1088 100644 --- a/bin/chat-cli/src/app.rs +++ b/bin/chat-cli/src/app.rs @@ -9,7 +9,7 @@ use arboard::Clipboard; use libchat::{ChatStorage, Context as ChatManager, Introduction, StorageConfig}; use serde::{Deserialize, Serialize}; -use crate::transport::FileTransport; +use crate::{transport::FileTransport, utils::now}; /// A chat message for display. #[derive(Debug, Clone, Serialize, Deserialize)] @@ -385,12 +385,12 @@ impl ChatApp { Ok(Some(format!("Connected to {}", remote_user))) } "/chats" => { - let sessions: Vec<_> = self.state.sessions.keys().cloned().collect(); - if sessions.is_empty() { + let chat_names: Vec<_> = self.state.sessions.keys().cloned().collect(); + if chat_names.is_empty() { Ok(Some("No chats yet. Use /connect to start one.".to_string())) } else { - self.add_system_message(&format!("── Your Chats ({}) ──", sessions.len())); - for name in &sessions { + self.add_system_message(&format!("── Your Chats ({}) ──", chat_names.len())); + for name in &chat_names { let marker = if Some(name) == self.state.active_chat.as_ref() { " (active)" } else { @@ -398,7 +398,7 @@ impl ChatApp { }; self.add_system_message(&format!(" • {}{}", name, marker)); } - Ok(Some(format!("{} chat(s)", sessions.len()))) + Ok(Some(format!("{} chat(s)", chat_names.len()))) } } "/switch" => { @@ -458,10 +458,3 @@ impl ChatApp { } } } - -fn now() -> u64 { - std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap() - .as_millis() as u64 -} diff --git a/bin/chat-cli/src/main.rs b/bin/chat-cli/src/main.rs index 7634abd..ebbefcf 100644 --- a/bin/chat-cli/src/main.rs +++ b/bin/chat-cli/src/main.rs @@ -27,6 +27,7 @@ mod app; mod transport; mod ui; +mod utils; use std::{env, path::PathBuf}; diff --git a/bin/chat-cli/src/transport.rs b/bin/chat-cli/src/transport.rs index 022ea87..22b4701 100644 --- a/bin/chat-cli/src/transport.rs +++ b/bin/chat-cli/src/transport.rs @@ -9,6 +9,8 @@ use std::path::{Path, PathBuf}; use anyhow::{Context, Result}; use serde::{Deserialize, Serialize}; +use crate::utils::now; + /// A message envelope for transport. #[derive(Debug, Clone, Serialize, Deserialize)] pub struct MessageEnvelope { @@ -134,10 +136,3 @@ impl FileTransport { &self.user_name } } - -fn now() -> u64 { - std::time::SystemTime::now() - .duration_since(std::time::UNIX_EPOCH) - .unwrap() - .as_millis() as u64 -} diff --git a/bin/chat-cli/src/utils.rs b/bin/chat-cli/src/utils.rs new file mode 100644 index 0000000..52c955b --- /dev/null +++ b/bin/chat-cli/src/utils.rs @@ -0,0 +1,6 @@ +pub fn now() -> u64 { + std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap() + .as_millis() as u64 +}