Files
Moonlight/Moonlight/Shared/Components/Partials/Navbar.razor
Marcel Baumgartner ca64184faf Revert "Merge pull request #106 from Moonlight-Panel/DiscordBot"
This reverts commit f71fcc0f5d, reversing
changes made to e0bea9b61c.
2023-04-29 23:37:03 +02:00

118 lines
4.4 KiB
Plaintext

@using Moonlight.App.Helpers
@using Moonlight.App.Repositories
@using Moonlight.App.Services
@using Moonlight.App.Services.Sessions
@using Moonlight.App.Database.Entities
@using Task = System.Threading.Tasks.Task
@inject IdentityService IdentityService
@inject NavigationManager NavigationManager
@inject CookieService CookieService
@if (User != null)
{
<div class="menu menu-column justify-content-center"
data-kt-menu="true">
<div class="menu-item">
<div class="dropdown">
<button class="btn btn-success dropdown-toggle" type="button" data-bs-toggle="dropdown">
<TL>Create</TL>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item py-2" href="/servers/create">
<TL>Server</TL>
</a>
</li>
<li>
<a class="dropdown-item py-2" href="/domains/create">
<TL>Domain</TL>
</a>
</li>
<li>
<a class="dropdown-item py-2" href="/webspaces/create">
<TL>Webspace</TL>
</a>
</li>
</ul>
</div>
</div>
</div>
}
<div class="app-navbar flex-shrink-0">
<div class="app-navbar-item ms-1 ms-lg-3">
<ThemeSwitcher
ToggleBtnClass="btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px w-md-40px h-md-40px"
ToggleBtnIconClass="svg-icon svg-icon-2">
</ThemeSwitcher>
</div>
@if (User != null)
{
<div class="app-navbar-item ms-1 ms-lg-3">
<a href="/support" class="btn btn-icon btn-custom btn-icon-muted btn-active-light btn-active-color-primary w-35px h-35px w-md-40px h-md-40px position-relative">
<i class="bx bx-support"></i>
</a>
</div>
<div class="app-navbar-item ms-1 ms-lg-3" id="kt_header_user_menu_toggle">
<div class="cursor-pointer symbol symbol-35px symbol-md-40px" data-kt-menu-trigger="click" data-kt-menu-attach="parent" data-kt-menu-placement="bottom-end">
<img alt="Avatar" src="/api/moonlight/avatar/@(User.Id)"/>
</div>
<div class="menu menu-sub menu-sub-dropdown menu-column menu-rounded menu-gray-800 menu-state-bg menu-state-primary fw-semibold py-4 fs-6 w-275px" data-kt-menu="true">
<div class="menu-item px-3">
<div class="menu-content d-flex align-items-center px-3">
<div class="symbol symbol-50px me-5">
<img alt="Avatar" src="/api/moonlight/avatar/@(User.Id)"/>
</div>
<div class="d-flex flex-column">
<div class="fw-bold d-flex align-items-center fs-5">
@(User.FirstName) @(User.LastName)
@if (User.Admin)
{
<span class="badge badge-light-success fw-bold fs-8 px-2 py-1 ms-2">Admin</span>
}
</div>
<a class="fw-semibold text-muted text-hover-primary fs-7">@(User.Email)</a>
</div>
</div>
</div>
<div class="separator my-2"></div>
<div class="menu-item px-5 my-1">
<a href="/profile" class="menu-link px-5">
<TL>Profile</TL>
</a>
</div>
<div class="menu-item px-5">
<a @onclick="Logout" class="menu-link px-5">
<TL>Logout</TL>
</a>
</div>
</div>
</div>
}
</div>
@code
{
private User? User;
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
User = await IdentityService.Get();
await InvokeAsync(StateHasChanged);
}
}
private async void Logout()
{
await CookieService.SetValue("token", "", 1);
NavigationManager.NavigateTo(NavigationManager.Uri, true);
}
}