12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #![allow(non_snake_case)]
- use dioxus::prelude::*;
- use dioxus_desktop::{tao::dpi::LogicalSize, Config, WindowBuilder};
- use dioxus_router::prelude::*;
- fn main() {
- env_logger::init();
- let cfg = Config::new().with_window(
- WindowBuilder::new()
- .with_inner_size(LogicalSize::new(600, 1000))
- .with_resizable(false),
- );
- dioxus_desktop::launch_cfg(app, cfg)
- }
- fn app(cx: Scope) -> Element {
- render! {
- Router {}
- }
- }
- #[derive(Routable, Clone)]
- #[rustfmt::skip]
- enum Route {
- #[layout(Footer)]
- #[route("/")]
- Home {},
- #[route("/games")]
- Games {},
- #[route("/play")]
- Play {},
- #[route("/settings")]
- Settings {},
- }
- #[inline_props]
- fn Footer(cx: Scope) -> Element {
- render! {
- div {
- Outlet { }
- p {
- "----"
- }
- nav {
- ul {
- li { Link { target: Route::Home {}, "Home" } }
- li { Link { target: Route::Games {}, "Games" } }
- li { Link { target: Route::Play {}, "Play" } }
- li { Link { target: Route::Settings {}, "Settings" } }
- }
- }
- }
- }
- }
- #[inline_props]
- fn Home(cx: Scope) -> Element {
- render!("Home")
- }
- #[inline_props]
- fn Games(cx: Scope) -> Element {
- render!("Games")
- }
- #[inline_props]
- fn Play(cx: Scope) -> Element {
- render!("Play")
- }
- #[inline_props]
- fn Settings(cx: Scope) -> Element {
- render!("Settings")
- }
|