Upgraded Leptos to 0.8. Fixes #1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+23
-19
@@ -1,9 +1,11 @@
|
||||
use crate::locales::init_locales;
|
||||
use crate::pages::home_page::HomePage;
|
||||
use crate::pages::settings::Settings;
|
||||
use leptos::*;
|
||||
use leptos::prelude::*;
|
||||
use leptos_meta::*;
|
||||
use leptos_router::*;
|
||||
use leptos_router::components::{Route, Router, Routes};
|
||||
use leptos_router::hooks::use_location;
|
||||
use leptos_router::path;
|
||||
use crate::components::admin_portal::AdminPortal;
|
||||
use crate::components::header::Header;
|
||||
use crate::components::user_menu::MenuOpener;
|
||||
@@ -14,29 +16,31 @@ use crate::pages::login::Login;
|
||||
use crate::pages::mail_settings::MailSettings;
|
||||
use crate::pages::public::Public;
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct MenuHelper {
|
||||
opened: RwSignal<MenuOpener>
|
||||
opened: RwSignal<Option<MenuOpener>>
|
||||
}
|
||||
|
||||
impl MenuHelper {
|
||||
pub fn new() -> Self {
|
||||
let opened = create_rw_signal(MenuOpener::new());
|
||||
let opened = RwSignal::new(None);
|
||||
Self {
|
||||
opened
|
||||
}
|
||||
}
|
||||
|
||||
pub fn set_opened(&self, opened: MenuOpener) {
|
||||
self.opened.set(opened);
|
||||
self.opened.set(Some(opened));
|
||||
}
|
||||
|
||||
pub fn close(&self) {
|
||||
self.opened.get().close();
|
||||
if let Some(opened) = self.opened.get_untracked() {
|
||||
opened.close();
|
||||
}
|
||||
}
|
||||
|
||||
pub fn reset(&self) {
|
||||
self.opened.set(MenuOpener::new());
|
||||
self.opened.set(None);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +51,7 @@ pub struct DialogHelper {
|
||||
|
||||
impl DialogHelper {
|
||||
pub fn new() -> Self {
|
||||
let opened = create_rw_signal(false);
|
||||
let opened = RwSignal::new(false);
|
||||
Self {
|
||||
opened
|
||||
}
|
||||
@@ -68,7 +72,7 @@ fn app_footer() -> impl IntoView {
|
||||
|
||||
view! {
|
||||
<footer class="content-footer footer bg-footer-theme" style={move || if loc.pathname.get().starts_with("/admin") {"display: none;"} else {"display: block;"}}>
|
||||
<div class="mb-2 mb-md-0" align="center">
|
||||
<div class="mb-2 mb-md-0" style="text-align: center">
|
||||
<a href="https://rezervovator.cz" target="_blank"><img src="/rezervovator_l.svg" width="110"/></a> {format!(" v {}", env!("CARGO_PKG_VERSION"))}
|
||||
</div>
|
||||
</footer>
|
||||
@@ -89,35 +93,35 @@ pub fn App() -> impl IntoView {
|
||||
|
||||
<Router>
|
||||
<main>
|
||||
<Routes>
|
||||
<Route path="" view=|| view! { <Public/> }/>
|
||||
<Route path="login" view=|| view! { <Login/> }/>
|
||||
<Route path="admin" view=|| view! {
|
||||
<Routes fallback=|| "Page not found.">
|
||||
<Route path=path!("") view=|| view! { <Public/> }/>
|
||||
<Route path=path!("login") view=|| view! { <Login/> }/>
|
||||
<Route path=path!("admin") view=|| view! {
|
||||
<AdminPortal>
|
||||
<HomePage/>
|
||||
</AdminPortal>
|
||||
}/>
|
||||
<Route path="admin/settings" view=|| view! {
|
||||
<Route path=path!("admin/settings") view=|| view! {
|
||||
<AdminPortal>
|
||||
<Settings/>
|
||||
</AdminPortal>
|
||||
}/>
|
||||
<Route path="admin/mail_settings" view=|| view! {
|
||||
<Route path=path!("admin/mail_settings") view=|| view! {
|
||||
<AdminPortal>
|
||||
<MailSettings/>
|
||||
</AdminPortal>
|
||||
}/>
|
||||
<Route path="admin/bookings" view=|| view! {
|
||||
<Route path=path!("admin/bookings") view=|| view! {
|
||||
<AdminPortal>
|
||||
<Bookings/>
|
||||
</AdminPortal>
|
||||
}/>
|
||||
<Route path="admin/customers" view=|| view! {
|
||||
<Route path=path!("admin/customers") view=|| view! {
|
||||
<AdminPortal>
|
||||
<Customers/>
|
||||
</AdminPortal>
|
||||
}/>
|
||||
<Route path="admin/appearance" view=|| view! {
|
||||
<Route path=path!("admin/appearance") view=|| view! {
|
||||
<AdminPortal>
|
||||
<Appearance/>
|
||||
</AdminPortal>
|
||||
|
||||
Reference in New Issue
Block a user