mod config; mod msg; mod notification; mod pages; use actix_web::{web, App}; #[actix_web::main] async fn main() -> std::io::Result<()> { std::env::set_var("RUST_LOG", "info"); std::env::set_var("RUST_BACKTRACE", "1"); env_logger::init(); let conf = config::Config::new(); web_base::bootstrap::cache_bootstrap().await; let manifest = web_base::Manifest::new(&conf.name().unwrap()) .set_short_name(&conf.name().unwrap()) .set_start_url("/") .set_background_color(&conf.bg_color().unwrap()) .add_icon("/assets/me.png", "2000x2000", "image/png") .set_display(web_base::ManifestDisplay::MinimalUI); web_base::map!( web_base::Site::new() .enable_bootstrap(true) .enable_scaling(true) .enable_favicon("/assets/me".to_string()) .add_manifest(manifest), |x: App<_>| { x.app_data(web::Data::new(conf.clone())) .service(pages::index::index) // Assets .service(pages::assets::wallpaper) .service(pages::assets::me_img) .service(pages::assets::me_img_png) .service(pages::index::public_key) .service(pages::index::mirrors) .service(pages::index::message_page) .service(pages::index::message_post) } ) .bind(("0.0.0.0", 8080))? .run() .await }