Added customers overview, booking detail dialog and about dialog.

This commit is contained in:
2024-02-15 16:46:57 +01:00
parent 952f8fbe94
commit 549ec86684
11 changed files with 186 additions and 4041 deletions
+28 -7
View File
@@ -1,11 +1,30 @@
use leptos::*;
use crate::backend::data::User;
use crate::components::modal_box::DialogOpener;
use crate::components::modal_box::{DialogOpener, ModalBody, ModalDialog};
use crate::components::user_menu::{MenuOpener, UserMenu};
use crate::locales::trl;
use crate::pages::change_pwd::ChangePassword;
use crate::pages::profile_edit::ProfileEdit;
#[component]
fn about(opener: DialogOpener) -> impl IntoView {
view! {
<ModalDialog opener=opener title="">
<ModalBody>
<img src="/rezervovator_l.svg" width="180"/> <br /><br/>
<p>
{trl("Online booking application for sports facilities and service providers.")}<br/><br/>
<div align="center">
<a href="https://www.rust-lang.org" target="_blank"><img src="/rust.png" height="40"/></a>" "
<a href="https://leptos.dev" target="_blank"><img src="/Leptos_logo.png" height="40"/></a> <br/><br/>
"(c) 2023 - 2024"
</div>
</p>
</ModalBody>
</ModalDialog>
}
}
#[component]
fn settings_menu(opener: MenuOpener) -> impl IntoView {
view! {
@@ -44,6 +63,7 @@ pub fn AdminPortal(children: Children) -> impl IntoView {
let editor = DialogOpener::new();
let pw_changer = DialogOpener::new();
let drawer = use_context::<MenuOpener>().expect("No drawer opener");
let about_dlg = DialogOpener::new();
view! {
<div class="layout-wrapper layout-content-navbar">
@@ -69,21 +89,21 @@ pub fn AdminPortal(children: Children) -> impl IntoView {
</a>
</li>
<li class="menu-item">
<a href="/admin/bookings" class="menu-link">
<a href="/admin/bookings" class="menu-link" on:click=move |_| drawer.close()>
<i class="menu-icon tf-icons bx bx-layer"></i>
<div data-i18n="Analytics">"Booking summary"</div>
<div data-i18n="Analytics">{trl("Booking summary")}</div>
</a>
</li>
<li class="menu-item">
<a href="/admin/customers" class="menu-link">
<a href="/admin/customers" class="menu-link" on:click=move |_| drawer.close()>
<i class="menu-icon tf-icons bx bx-face"></i>
<div data-i18n="Analytics">"Customers"</div>
<div data-i18n="Analytics">{trl("Customers")}</div>
</a>
</li>
<li class="menu-item">
<a href="/" class="menu-link">
<a href="#" class="menu-link" on:click=move |_| about_dlg.show()>
<i class="menu-icon tf-icons bx bx-info-circle"></i>
<div data-i18n="Analytics">"About"</div>
<div data-i18n="Analytics">{trl("About")}</div>
</a>
</li>
</ul>
@@ -141,6 +161,7 @@ pub fn AdminPortal(children: Children) -> impl IntoView {
<div class="container-xxl flex-grow-1 container-p-y">
<ProfileEdit user={user} opener=editor/>
<ChangePassword user={user} opener=pw_changer/>
<About opener=about_dlg/>
{children()}
</div>
</div>