mod auth; mod pages; use crate::auth::ProtectedRoute; use crate::pages::*; use yew::prelude::*; use yew_router::prelude::*; #[derive(Clone, PartialEq, Routable)] enum Route { #[at("/")] Home, #[at("/ticket")] Ticket, #[at("/tickets/:id")] TicketById { id: i32 }, #[at("/tickets")] AllTickets, #[at("/register")] Register, #[at("/login")] Login, #[at("/users")] AllUsers, #[at("/users/:id")] UserByID { id: i16 }, #[at("/diagnostics")] Diagnostics, #[at("/denied")] PermissionDenied, #[not_found] #[at("/404")] NotFound, } #[derive(Properties, PartialEq)] pub struct SidebarShellProps { pub children: Children, } #[component(SidebarShell)] fn sidebar_shell(props: &SidebarShellProps) -> Html { html! {