use leptos::{mount_to_body, view};
use tracing_subscriber::{fmt, fmt::time::LocalTime};
use tracing_subscriber_wasm::MakeConsoleWriter;

mod app;

pub mod notemsg {
    pub mod settings {
        include!(concat!(env!("OUT_DIR"), "/notemsg.settings.rs"));
    }
}

fn main() {
    use app::App;

    console_error_panic_hook::set_once();
    fmt()
        .with_max_level(tracing::Level::DEBUG)
        .with_writer(
            // To avoid trace events in the browser from showing their
            // JS backtrace, which is very annoying, in my opinion
            dbg!(MakeConsoleWriter::default().map_trace_level_to(tracing::Level::DEBUG)),
        )
        .with_timer(LocalTime::rfc_3339())
        .with_ansi(false)
        .pretty()
        .init();
    mount_to_body(|| {
        view! { <App/> }
    })
}