Implemented mail settings.

This commit is contained in:
2024-02-10 19:52:20 +01:00
parent 88ac17008c
commit d18ef72d03
9 changed files with 276 additions and 19 deletions
+42 -9
View File
@@ -6,9 +6,40 @@ use crate::locales::trl;
use crate::pages::change_pwd::ChangePassword;
use crate::pages::profile_edit::ProfileEdit;
#[component]
fn settings_menu(opener: MenuOpener) -> impl IntoView {
view! {
<ul
class=move || {
if opener.visible() {
"dropdown-menu dropdown-menu-end show"
} else {
"dropdown-menu dropdown-menu-end"
}
}
data-bs-popper="none"
on:mouseleave=move |_| opener.close()
>
<li>
<a class="dropdown-item" href="/admin/settings">
<i class="bx bx-cog me-2"></i>
<span class="align-middle">{trl("Base settings")}</span>
</a>
</li>
<li>
<a class="dropdown-item" href="/admin/mail_settings">
<i class="bx bx-envelope me-2"></i>
<span class="align-middle">{trl("Mail settings")}</span>
</a>
</li>
</ul>
}
}
#[component]
pub fn AdminPortal(children: Children) -> impl IntoView {
let user_menu = MenuOpener::new();
let settings_menu = MenuOpener::new();
let (user, set_user) = create_signal(User::default());
let editor = DialogOpener::new();
let pw_changer = DialogOpener::new();
@@ -38,15 +69,15 @@ pub fn AdminPortal(children: Children) -> impl IntoView {
</a>
</li>
<li class="menu-item">
<a href="/" class="menu-link">
<i class="menu-icon tf-icons bx bx-time"></i>
<div data-i18n="Analytics">"Opening hours"</div>
<a href="/bookings" class="menu-link">
<i class="menu-icon tf-icons bx bx-layer"></i>
<div data-i18n="Analytics">"Booking summary"</div>
</a>
</li>
<li class="menu-item">
<a href="/" class="menu-link">
<i class="menu-icon tf-icons bx bx-layer"></i>
<div data-i18n="Analytics">"Places"</div>
<a href="/customers" class="menu-link">
<i class="menu-icon tf-icons bx bx-face"></i>
<div data-i18n="Analytics">"Customers"</div>
</a>
</li>
<li class="menu-item">
@@ -73,16 +104,18 @@ pub fn AdminPortal(children: Children) -> impl IntoView {
</div>
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
//<!-- Search -->
//<!-- Title -->
<div class="navbar-nav align-items-center ms-auto mt-auto">
<div class="nav-item d-flex align-items-center mt-auto">
<h4 class="mt-3"><i class="bx bx-desktop fs-4 lh-0"></i>" Admin portal"</h4>
</div>
</div>
//<!-- /Search -->
//<!-- /Settings -->
<ul class="navbar-nav flex-row align-items-center ms-auto">
<SettingsMenu opener=settings_menu/>
<li class="nav-item navbar-dropdown dropdown-user dropdown">
<a class="nav-link dropdown-toggle hide-arrow" href="/admin/settings" data-bs-toggle="dropdown">
<a class="nav-link dropdown-toggle hide-arrow" href="#" on:click=move |_| settings_menu.toggle()>
<i class="bx bx-cog fs-3 lh-0"></i>
</a>
</li>