use comfy_table::{ContentArrangement, Table};
use console::style;
use crate::vault::SecretMetadata;
pub fn success(msg: &str) {
println!("{} {}", style("\u{2713}").green().bold(), msg);
}
pub fn error(msg: &str) {
eprintln!("{} {}", style("\u{2717}").red().bold(), msg);
}
pub fn warning(msg: &str) {
eprintln!("{} {}", style("\u{26a0}").yellow().bold(), msg);
}
pub fn info(msg: &str) {
println!("{} {}", style("\u{2139}").blue().bold(), msg);
}
pub fn tip(msg: &str) {
println!("{} {}", style("\u{2192}").dim(), style(msg).dim());
}
pub fn print_secrets_table(secrets: &[SecretMetadata]) {
if secrets.is_empty() {
info("No secrets in this vault yet.");
tip("Run `envvault set <KEY>` to add your first secret.");
return;
}
let mut table = Table::new();
table.set_content_arrangement(ContentArrangement::Dynamic);
table.set_header(vec!["Name", "Created", "Updated"]);
for s in secrets {
table.add_row(vec![
s.name.clone(),
s.created_at.format("%Y-%m-%d %H:%M:%S").to_string(),
s.updated_at.format("%Y-%m-%d %H:%M:%S").to_string(),
]);
}
println!("{table}");
}