#![allow(non_snake_case)] use components::home::Home; use components::loading::ChildrenOrLoading; use dioxus::prelude::*; mod components { pub mod error; pub mod home; pub mod loading; pub mod nav; pub mod product_item; pub mod product_page; } mod api; fn main() { dioxus::launch(|| { rsx! { document::Link { rel: "stylesheet", href: asset!("/public/tailwind.css") } ChildrenOrLoading { Router:: {} } } }); } #[derive(Clone, Routable, Debug, PartialEq)] enum Route { #[route("/")] Home {}, #[route("/details/:product_id")] Details { product_id: usize }, } #[component] /// Render a more sophisticated page with ssr fn Details(product_id: usize) -> Element { rsx! { div { components::nav::nav {} components::product_page::product_page { product_id } } } }