#![warn(clippy::all, rust_2018_idioms)] #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release // When compiling natively: #[cfg(not(target_arch = "wasm32"))] fn main() -> eframe::Result<()> { env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`). let native_options = eframe::NativeOptions { viewport: egui::ViewportBuilder::default() .with_inner_size([1280.0, 720.0]) .with_min_inner_size([300.0, 220.0]) .with_icon( // NOTE: Adding an icon is optional eframe::icon_data::from_png_bytes(&include_bytes!("../assets/icon-256.png")[..]) .expect("Failed to load icon"), ), ..Default::default() }; eframe::run_native( "Realm Chat", native_options, Box::new(|cc| Box::new(realm_client::RealmApp::new(cc))), ) } // When compiling to web using trunk: #[cfg(target_arch = "wasm32")] fn main() { // Redirect `log` message to `console.log` and friends: eframe::WebLogger::init(log::LevelFilter::Debug).ok(); let web_options = eframe::WebOptions::default(); wasm_bindgen_futures::spawn_local(async { eframe::WebRunner::new() .start( "the_canvas_id", // hardcode it web_options, Box::new(|cc| Box::new(eframe_template::TemplateApp::new(cc))), ) .await .expect("failed to start eframe"); }); }