use self::{ home::HomePage, series::{add::AddSeries, view::ViewSeries}, }; use crate::error_template::{AppError, ErrorTemplate}; use leptos::*; use leptos_meta::*; use leptos_router::*; mod home; mod series; #[component] pub fn App() -> impl IntoView { // Provides context that manages stylesheets, titles, meta tags, etc. provide_meta_context(); view! { // injects a stylesheet into the document // id=leptos means cargo-leptos will hot-reload this stylesheet // sets the document title // content for this welcome page <Router fallback=|| { let mut outside_errors = Errors::default(); outside_errors.insert_with_default_key(AppError::NotFound); view! { <ErrorTemplate outside_errors/> } .into_view() }> <h1 class="mb-5 text-bg-primary p-5">"What We're Watching"</h1> <main class="container"> <Routes> <Route path="" view=HomePage> <Route path="add" view=AddSeries /> <Route path="view/:id" view=ViewSeries /> <Route path="" view=|| () /> </Route> </Routes> </main> </Router> } }