ramadhan-cli-rust 0.1.0

Ramadan-first CLI for Sehar and Iftar timings in your terminal
Documentation
use super::theme::{MOON_EMOJI, ramadan_green};

const ANSI_SHADOW: &str = r#"
██████╗  █████╗ ███╗   ███╗ █████╗ ██████╗  █████╗ ███╗   ██╗
██╔══██╗██╔══██╗████╗ ████║██╔══██╗██╔══██╗██╔══██╗████╗  ██║
██████╔╝███████║██╔████╔██║███████║██║  ██║███████║██╔██╗ ██║
██╔══██╗██╔══██║██║╚██╔╝██║██╔══██║██║  ██║██╔══██║██║╚██╗██║
██║  ██║██║  ██║██║ ╚═╝ ██║██║  ██║██████╔╝██║  ██║██║ ╚████║
╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═╝  ╚═╝╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═══╝
"#;

const ANSI_COMPACT: &str = r#"
██████  █████  ███    ███  █████  ██████   █████  ███    ██
██   ██ ██   ██ ████  ████ ██   ██ ██   ██ ██   ██ ████   ██
██████  ███████ ██ ████ ██ ███████ ██   ██ ███████ ██ ██  ██
██   ██ ██   ██ ██  ██  ██ ██   ██ ██   ██ ██   ██ ██  ██ ██
██   ██ ██   ██ ██      ██ ██   ██ ██████  ██   ██ ██   ████
"#;

pub fn get_banner() -> String {
    let width = std::env::var("COLUMNS")
        .ok()
        .and_then(|v| v.parse::<usize>().ok())
        .unwrap_or(80);

    let art = if width >= 120 {
        ANSI_SHADOW
    } else {
        ANSI_COMPACT
    };
    let lead = ramadan_green(&format!("  {MOON_EMOJI} Ramadan CLI"));
    let tag = "  Sehar • Iftar • Ramadan timings";
    format!("\n{}\n{}\n{}\n", ramadan_green(art.trim_end()), lead, tag)
}