Added customers overview, booking detail dialog and about dialog.
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user