41 lines
984 B
Rust
41 lines
984 B
Rust
use std::rc::Rc;
|
|
use yew::prelude::*;
|
|
use yew_router::prelude::*;
|
|
use yew_side_effect::title::TitleProvider;
|
|
|
|
use frontend::routes;
|
|
|
|
#[global_allocator]
|
|
static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
|
|
|
|
pub struct App;
|
|
|
|
impl Component for App {
|
|
type Message = ();
|
|
type Properties = ();
|
|
|
|
fn create(_ctx: &Context<Self>) -> Self {
|
|
Self
|
|
}
|
|
|
|
fn view(&self, _ctx: &Context<Self>) -> Html {
|
|
let format_title =
|
|
Rc::new(|m: &str| format!("{} | dergrimm.net", m)) as Rc<dyn Fn(&str) -> String>;
|
|
|
|
html! {
|
|
<BrowserRouter>
|
|
<TitleProvider default_title="Mentorenwahl | dergrimm.net" {format_title}>
|
|
<Switch<routes::Route> render={Switch::render(routes::switch)} />
|
|
</TitleProvider>
|
|
</BrowserRouter>
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
#[cfg(target_arch = "wasm32")]
|
|
wasm_logger::init(wasm_logger::Config::default());
|
|
|
|
yew::start_app::<App>();
|
|
}
|