use console::measure_text_width;
use supercli::starbase_styles::color::owo::OwoColorize;
pub fn print_banner(context: Option<&str>) {
const VERSION: &str = env!("CARGO_PKG_VERSION");
let git_sha = option_env!("GIT_SHA").unwrap_or("unknown");
let formatted_text = if let Some(ctx) = context {
format!(
" 🛡️ {} {} ({}) {} ",
"guardy".bright_magenta(),
format!("v{}", VERSION).dimmed(),
git_sha.dimmed(),
ctx
)
} else {
format!(
" 🛡️ {} {} ({}) ",
"guardy".bright_magenta(),
format!("v{}", VERSION).dimmed(),
git_sha.dimmed()
)
};
let text_width = measure_text_width(&formatted_text);
let border = "─".repeat(text_width - 1);
println!("{}{}{}", "╭".dimmed(), border.dimmed(), "╮".dimmed());
println!("{}{}{}", "│".dimmed(), formatted_text, "│".dimmed());
println!("{}{}{}", "╰".dimmed(), border.dimmed(), "╯".dimmed());
}