pinakes/crates/pinakes-ui/src/main.rs
NotAShelf be4305f46e
pinakes-ui: add plugin page registry
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie83791e82c68f757173e5dc53a646b356a6a6964
2026-03-09 22:04:45 +03:00

49 lines
1 KiB
Rust

use clap::Parser;
use tracing_subscriber::EnvFilter;
mod app;
mod client;
mod components;
mod plugin_ui;
mod state;
mod styles;
use dioxus::prelude::*;
/// Pinakes desktop UI client
#[derive(Parser)]
#[command(name = "pinakes-ui", version, about)]
struct Cli {
/// Server URL to connect to
#[arg(
short,
long,
env = "PINAKES_SERVER_URL",
default_value = "http://localhost:3000"
)]
server: String,
/// Set log level (trace, debug, info, warn, error)
#[arg(long, default_value = "warn")]
log_level: String,
}
fn main() {
let cli = Cli::parse();
let env_filter = EnvFilter::try_new(&cli.log_level)
.unwrap_or_else(|_| EnvFilter::new("warn"));
tracing_subscriber::fmt()
.with_env_filter(env_filter)
.compact()
.init();
// SAFETY: Called before any threads are spawned (single-threaded at this
// point).
unsafe { std::env::set_var("PINAKES_SERVER_URL", &cli.server) };
tracing::info!(server = %cli.server, "starting pinakes desktop UI");
launch(app::App);
}