chore: utils for helper funcs

This commit is contained in:
kaichaosun 2026-04-17 14:25:33 +08:00
parent 497136dbe8
commit 9e0800ef1d
No known key found for this signature in database
GPG Key ID: 223E0F992F4F03BF
4 changed files with 15 additions and 20 deletions

View File

@ -9,7 +9,7 @@ use arboard::Clipboard;
use libchat::{ChatStorage, Context as ChatManager, Introduction, StorageConfig}; use libchat::{ChatStorage, Context as ChatManager, Introduction, StorageConfig};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::transport::FileTransport; use crate::{transport::FileTransport, utils::now};
/// A chat message for display. /// A chat message for display.
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
@ -385,12 +385,12 @@ impl ChatApp {
Ok(Some(format!("Connected to {}", remote_user))) Ok(Some(format!("Connected to {}", remote_user)))
} }
"/chats" => { "/chats" => {
let sessions: Vec<_> = self.state.sessions.keys().cloned().collect(); let chat_names: Vec<_> = self.state.sessions.keys().cloned().collect();
if sessions.is_empty() { if chat_names.is_empty() {
Ok(Some("No chats yet. Use /connect to start one.".to_string())) Ok(Some("No chats yet. Use /connect to start one.".to_string()))
} else { } else {
self.add_system_message(&format!("── Your Chats ({}) ──", sessions.len())); self.add_system_message(&format!("── Your Chats ({}) ──", chat_names.len()));
for name in &sessions { for name in &chat_names {
let marker = if Some(name) == self.state.active_chat.as_ref() { let marker = if Some(name) == self.state.active_chat.as_ref() {
" (active)" " (active)"
} else { } else {
@ -398,7 +398,7 @@ impl ChatApp {
}; };
self.add_system_message(&format!("{}{}", name, marker)); self.add_system_message(&format!("{}{}", name, marker));
} }
Ok(Some(format!("{} chat(s)", sessions.len()))) Ok(Some(format!("{} chat(s)", chat_names.len())))
} }
} }
"/switch" => { "/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
}

View File

@ -27,6 +27,7 @@
mod app; mod app;
mod transport; mod transport;
mod ui; mod ui;
mod utils;
use std::{env, path::PathBuf}; use std::{env, path::PathBuf};

View File

@ -9,6 +9,8 @@ use std::path::{Path, PathBuf};
use anyhow::{Context, Result}; use anyhow::{Context, Result};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::utils::now;
/// A message envelope for transport. /// A message envelope for transport.
#[derive(Debug, Clone, Serialize, Deserialize)] #[derive(Debug, Clone, Serialize, Deserialize)]
pub struct MessageEnvelope { pub struct MessageEnvelope {
@ -134,10 +136,3 @@ impl FileTransport {
&self.user_name &self.user_name
} }
} }
fn now() -> u64 {
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
.as_millis() as u64
}

View File

@ -0,0 +1,6 @@
pub fn now() -> u64 {
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.unwrap()
.as_millis() as u64
}