2022-11-12 00:41:51 +01:00
|
|
|
mod config;
|
|
|
|
mod msg;
|
|
|
|
mod notification;
|
|
|
|
mod pages;
|
|
|
|
|
2023-09-16 17:53:03 +02:00
|
|
|
use actix_web::{web, App};
|
2022-11-12 00:41:51 +01:00
|
|
|
|
|
|
|
#[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();
|
2023-09-14 17:42:06 +02:00
|
|
|
web_base::bootstrap::cache_bootstrap().await;
|
2022-11-12 00:41:51 +01:00
|
|
|
|
2023-09-18 19:31:44 +02:00
|
|
|
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())
|
2023-09-18 19:44:17 +02:00
|
|
|
.add_icon("/assets/me.png", "2000x2000", "image/png")
|
2023-09-18 19:36:13 +02:00
|
|
|
.set_display(web_base::ManifestDisplay::MinimalUI);
|
2023-09-18 19:31:44 +02:00
|
|
|
|
2023-09-14 18:48:20 +02:00
|
|
|
web_base::map!(
|
|
|
|
web_base::Site::new()
|
|
|
|
.enable_bootstrap(true)
|
|
|
|
.enable_scaling(true)
|
2023-09-18 19:31:44 +02:00
|
|
|
.enable_favicon("/assets/me".to_string())
|
|
|
|
.add_manifest(manifest),
|
2023-09-14 18:48:20 +02:00
|
|
|
|x: App<_>| {
|
|
|
|
x.app_data(web::Data::new(conf.clone()))
|
|
|
|
.service(pages::index::index)
|
|
|
|
// Assets
|
|
|
|
.service(pages::assets::wallpaper)
|
|
|
|
.service(pages::assets::me_img)
|
2023-09-18 19:40:49 +02:00
|
|
|
.service(pages::assets::me_img_png)
|
2023-09-14 18:48:20 +02:00
|
|
|
.service(pages::index::public_key)
|
|
|
|
.service(pages::index::mirrors)
|
|
|
|
.service(pages::index::message_page)
|
|
|
|
.service(pages::index::message_post)
|
|
|
|
}
|
|
|
|
)
|
2022-11-12 00:41:51 +01:00
|
|
|
.bind(("0.0.0.0", 8080))?
|
|
|
|
.run()
|
|
|
|
.await
|
|
|
|
}
|