mirror of
https://github.com/logos-messaging/libchat.git
synced 2026-05-12 13:09:29 +00:00
chore: utils for helper funcs
This commit is contained in:
parent
497136dbe8
commit
9e0800ef1d
@ -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
|
|
||||||
}
|
|
||||||
|
|||||||
@ -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};
|
||||||
|
|
||||||
|
|||||||
@ -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
|
|
||||||
}
|
|
||||||
|
|||||||
6
bin/chat-cli/src/utils.rs
Normal file
6
bin/chat-cli/src/utils.rs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
pub fn now() -> u64 {
|
||||||
|
std::time::SystemTime::now()
|
||||||
|
.duration_since(std::time::UNIX_EPOCH)
|
||||||
|
.unwrap()
|
||||||
|
.as_millis() as u64
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user