1#![allow(dead_code)]
7
8pub mod app;
9pub mod canvas;
10pub mod graph;
11pub mod state;
12pub mod theme;
13pub mod transitions;
14pub mod ui;
15
16use std::sync::Arc;
17
18use blinc_app::WindowConfig;
19use blinc_app::windowed::WindowedApp;
20use kyu_api::Database;
21
22pub fn launch(db: Database) -> Result<(), Box<dyn std::error::Error>> {
27 let config = WindowConfig {
28 title: "KyuGraph Visualizer".to_string(),
29 width: 1280,
30 height: 800,
31 ..Default::default()
32 };
33
34 let db = Arc::new(db);
35 let initial = app::load_initial_data(&db);
36
37 let mut css_loaded = false;
38 WindowedApp::run(config, move |ctx| {
39 if !css_loaded {
40 ctx.add_css(include_str!("../style.css"));
41 css_loaded = true;
42 }
43 let db = db.clone();
44 app::build_ui(ctx, db, &initial)
45 })?;
46 Ok(())
47}