discord-css-injector/src/main.rs

31 lines
908 B
Rust

// Incantation to not allocate a Windows console when compiled in release mode
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]
mod injector;
mod panel;
mod themes;
mod web_view;
use std::{net::SocketAddr, sync::mpsc, thread};
async fn serve_panel(addr_listener: mpsc::Sender<SocketAddr>) {
let (panel_addr, panel_listener) = crate::panel::serve_panel();
addr_listener.send(panel_addr).unwrap();
panel_listener.await;
}
fn main() {
let (tx, rx) = mpsc::channel();
thread::spawn(move || {
let runtime = tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()
.expect("Couldn't create async runtime");
runtime.block_on(serve_panel(tx));
});
let panel_addr = rx.recv().unwrap();
crate::web_view::open_webview(&format!("http://{}/", panel_addr))
.expect("Failed to open web view");
}