Files
marstemedia/src/app.rs

39 lines
916 B
Rust

use crate::navbar::Navbar;
use crate::pages::{greet::Greet, home::Home, news::News};
use yew::prelude::*;
use yew_router::prelude::*;
#[derive(Clone, Routable, PartialEq)]
pub enum Route {
#[at("/")]
Home,
#[at("/news")]
News,
#[at("/greet")]
Greet,
#[not_found]
#[at("/404")]
NotFound,
}
fn switch(routes: Route) -> Html {
match routes {
Route::Home => html! { <Home /> },
Route::News => html! { <News /> },
Route::Greet => html! { <Greet /> },
Route::NotFound => html! { <h1 class="status-msg">{ "404 - Not Found" }</h1> },
}
}
#[function_component(App)]
pub fn app() -> Html {
html! {
<BrowserRouter>
<div class="feed-container">
<Switch<Route> render={switch} />
</div>
<Navbar /> // Die Navbar schwebt dank 'fixed' über dem Container
</BrowserRouter>
}
}