Files
WatchIt/WatchIt.Website/WatchIt.Website/Layout/MainLayout.razor

96 lines
5.0 KiB
Plaintext
Raw Normal View History

2024-09-29 17:05:54 +02:00
@using System.Net
@using WatchIt.Common.Model.Photos
2024-09-25 22:11:28 +02:00
@using WatchIt.Website.Services.WebAPI.Photos
2024-09-25 22:11:28 +02:00
@inherits LayoutComponentBase
2024-07-03 22:18:32 +02:00
<CascadingValue Value="this">
@if (_loaded)
{
<div class="container-xl">
2024-09-29 13:20:30 +02:00
<div class="row sticky-top top-3 mb-2rem">
<div class="col">
2024-09-29 13:20:30 +02:00
<div class="panel panel-header rounded-3 px-3">
<div class="container-grid">
<div class="row align-items-center">
<div class="col">
<a id="logo" class="logo" href="/">
WatchIt
</a>
</div>
<div class="col-auto">
2024-09-29 15:47:11 +02:00
<div class="d-flex gap-2 align-items-center">
@if (_searchbarVisible)
{
<div class="input-group input-group-sm">
<InputText class="form-control" placeholder="Search with regex" @bind-Value="@(_searchbarText)"/>
</div>
<button type="button" class="btn btn-sm btn-outline-secondary" @onclick="@(SearchStart)">⌕</button>
2024-09-29 18:54:08 +02:00
<button type="button" class="btn btn-sm" @onclick="@(() => _searchbarVisible = false)">&#10060;&#xFE0E;</button>
2024-09-29 15:47:11 +02:00
}
else
{
<button type="button" class="btn btn-sm">Rankings</button>
<button type="button" class="btn btn-sm" @onclick="@(() => _searchbarVisible = true)">⌕</button>
}
</div>
2024-09-29 13:20:30 +02:00
</div>
<div class="col">
<div class="float-end">
@if (_user is null)
{
2024-09-29 17:05:54 +02:00
<a id="signInButton" class="main-button" href="/auth?redirect_to=@(WebUtility.UrlEncode(NavigationManager.Uri))">Sign in</a>
2024-09-29 13:20:30 +02:00
}
else
{
2024-09-29 13:20:30 +02:00
<Dropdown RightAligned>
<Button Color="Color.Default">
<div class="d-flex gap-2 align-items-center">
<img class="rounded-circle" alt="avatar" height="30" src="@(_userProfilePicture is null ? "assets/user_placeholder.png" : _userProfilePicture.ToString())"/>
<span>@(_user.Username)</span>
</div>
</Button>
<DropdownToggle Color="Color.Default" Split />
<DropdownMenu >
@if (_user.IsAdmin)
{
<DropdownItem Clicked="@(() => NavigationManager.NavigateTo("/admin"))">Administrator panel</DropdownItem>
}
<DropdownDivider/>
<DropdownItem Clicked="UserMenuLogOut"><span class="text-danger">Log out</span></DropdownItem>
</DropdownMenu>
</Dropdown>
}
2024-09-29 13:20:30 +02:00
</div>
</div>
</div>
2024-09-29 13:20:30 +02:00
</div>
</div>
2024-07-03 22:18:32 +02:00
</div>
</div>
<div class="row">
2024-09-29 13:20:30 +02:00
<div class="col">
@Body
</div>
2024-07-03 22:18:32 +02:00
</div>
</div>
2024-09-29 13:20:30 +02:00
2024-07-03 22:18:32 +02:00
<style>
/* TAGS */
body {
background-image: url('@(GetBackgroundPhoto() is null ? "assets/background_temp.jpg": GetBackgroundPhoto().ToString())');
}
2024-07-03 22:18:32 +02:00
/* IDS */
2024-07-03 22:18:32 +02:00
2024-09-29 13:20:30 +02:00
#logo, #signInButton {
background-image: linear-gradient(45deg, @(GetBackgroundPhoto() is null ? "#c6721c, #85200c" : $"#{Convert.ToHexString(GetBackgroundPhoto().Background.FirstGradientColor)}, #{Convert.ToHexString(GetBackgroundPhoto().Background.SecondGradientColor)}"));
}
</style>
}
</CascadingValue>