use anyhow::Result; use clap::Parser; use std::result::Result::Ok; mod api; mod i18n; use api::UptimeKumaEndpoints; use crate::ui::App; mod core; mod data; mod ui; #[derive(Debug, Parser)] #[command(author, version, about)] struct Args { #[arg(short, long, env = "UPTIME_KUMA_URL")] base_url: String, #[arg(short, long, env = "STATUS_PAGE_SLUG")] slug: String, } fn main() -> Result<()> { i18n::init_locales()?; let args = Args::parse(); let endpoints = UptimeKumaEndpoints::new(&args.base_url, &args.slug)?; let mut app = App::new(endpoints)?; app.run()?; Ok(()) }