sloppy blog impl from example

This commit is contained in:
lia
2025-08-10 18:28:27 +02:00
parent 6a5176caab
commit 078634b664
14 changed files with 867 additions and 8 deletions

View File

@@ -10,6 +10,10 @@ use yew_router::prelude::*;
mod pages;
use crate::pages::about::About;
use crate::pages::blog::entries::Entries;
use crate::pages::blog::entry::Entry;
use crate::pages::blog::authors::Authors;
use crate::pages::blog::author::Author;
use crate::pages::projects::Projects;
use pages::not_found::PageNotFound;
@@ -17,6 +21,15 @@ use pages::not_found::PageNotFound;
pub enum Route {
#[at("/")]
About,
#[at("/blog/entries/:id")]
Entry { id: u64 },
#[at("/blog/entries")]
Entries,
#[at("/blog/authors/:id")]
Author { id: u64 },
#[at("/blog/authors")]
Authors,
#[at("/projects")]
Projects,
@@ -116,6 +129,12 @@ impl Component for App {
fn switch(routes: Route) -> Html {
match routes {
Route::About => { html! { <About /> } }
Route::Entries => { html! { <Entries /> } }
Route::Entry { id } => { html! { <Entry seed={id as u32} /> } }
Route::Authors => { html! { <Authors /> } }
Route::Author { id } => { html! { <Author seed={id} /> } }
Route::Projects => { html! { <Projects /> } }
Route::NotFound => { html! { <PageNotFound /> } }
}
@@ -146,6 +165,7 @@ impl App {
<div class={classes!("navbar-menu", active_class)}>
<div class="navbar-start">
<Link<Route> classes={classes!("navbar-item")} to={Route::About}>{r"about"}</Link<Route>>
<Link<Route> classes={classes!("navbar-item")} to={Route::Entries}>{r"blog"}</Link<Route>>
<Link<Route> classes={classes!("navbar-item")} to={Route::Projects}>{r"projects"}</Link<Route>>
</div>
</div>