#[cfg(feature = "wasm")] use baobab_actor::ui::App; #[cfg(feature = "wasm")] use yew::prelude::*; #[cfg(feature = "wasm")] fn main() { console_log::init_with_level(log::Level::Debug).expect("Failed to initialize logger"); // Get configuration from URL parameters or local storage let window = web_sys::window().expect("No global window exists"); let location = window.location(); let search = location.search().unwrap_or_default(); // Parse URL parameters for actor configuration let url_params = web_sys::UrlSearchParams::new_with_str(&search).unwrap(); let actor_id = url_params.get("id").unwrap_or_else(|| "default_actor".to_string()); let actor_path = url_params.get("path").unwrap_or_else(|| "/path/to/actor".to_string()); let example_dir = url_params.get("example_dir"); let redis_url = url_params.get("redis_url").unwrap_or_else(|| "redis://localhost:6379".to_string()); log::info!("Starting Baobab Actor UI with actor_id: {}", actor_id); yew::Renderer::::with_props(baobab_actor::ui::app::AppProps { actor_id, actor_path, example_dir, redis_url, }).render(); } #[cfg(not(feature = "wasm"))] fn main() { eprintln!("This binary is only available with the 'wasm' feature enabled."); eprintln!("Please compile with: cargo build --features wasm --target wasm32-unknown-unknown"); std::process::exit(1); }