use app::*; use axum::Router; use db::*; use fileserv::file_and_error_handler; use leptos::*; use leptos_axum::{generate_route_list, LeptosRoutes}; pub mod db; pub mod fileserv; #[tokio::main] async fn main() { let conf = get_configuration(None).await.unwrap(); let leptos_options = conf.leptos_options; let addr = leptos_options.site_addr; let routes = generate_route_list(App); let pool = start_pool().await.expect("pool error"); let _ = db_build(pool.clone()).await.unwrap(); let app = Router::new() .leptos_routes_with_context( &leptos_options, routes, move || { provide_context(pool.clone()); }, App, ) .fallback(file_and_error_handler) .with_state(leptos_options); let listener = tokio::net::TcpListener::bind(&addr).await.unwrap(); axum::serve(listener, app.into_make_service()) .await .unwrap(); }