Improved main layout, now fully responsive

This commit is contained in:
Mia Rose Winter 2024-01-16 16:08:00 +01:00
parent c63b60a7de
commit 97c4e1294e
Signed by: miawinter
GPG key ID: 4B6F6A83178F595E
4 changed files with 102 additions and 87 deletions

View file

@ -1,12 +1,25 @@
@inherits LayoutComponentBase
<div class="flex flex-col h-screen">
<NavMenu />
<div class="drawer md:drawer-open drawer-end">
<input id="main-drawer" type="checkbox" class="drawer-toggle" />
<div class="drawer-content">
</div>
<div class="drawer-content">
<div class="flex flex-col h-screen overflow-x-auto">
<header class="md:hidden p-4 flex justify-between bg-base-200">
<div class="h-12">
<LogoPartial />
</div>
<label for="main-drawer" class="btn btn-square btn-ghost drawer-button" title="open navigation">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
</svg>
</label>
</header>
<main class="flex-1 container mx-auto px-12 py-8">
@Body
</main>
<footer class="footer footer-center p-4 bg-base-300 text-base-content">
<span class="block">
Powered by
@ -14,3 +27,13 @@
</span>
</footer>
</div>
</div>
<div class="drawer-side">
<label for="main-drawer" aria-label="close sidebar" class="drawer-overlay"></label>
<div class="bg-base-200 p-4 h-full flex flex-col gap-4">
<NavMenu />
</div>
</div>
</div>

View file

@ -3,24 +3,32 @@
@inject NavigationManager NavigationManager
<header>
<div class="navbar bg-base-200">
<div class="navbar-start">
<picture class="h-12">
<source type="image/jxl" srcset="img/logo.jxl" />
<source type="image/webp" srcset="img/logo.webp" />
<source type="image/svg+xml" scrset="img/logo.svg" />
<img class="max-h-full object-contain object-left" src="img/logo.png" alt="Wave" />
</picture>
</div>
<div class="navbar-center"></div>
<div class="navbar-end">
<ul class="menu menu-horizontal gap-2">
<header class="h-12 hidden md:block">
<LogoPartial />
</header>
<nav class="flex-1">
<ul class="menu">
<li><NavLink href="" Match="NavLinkMatch.All">Home</NavLink></li>
<li><NavLink href="weather">Weather</NavLink></li>
<li><NavLink href="auth">Auth Required</NavLink></li>
<AuthorizeView Policy="ArticleEditPermissions">
<Authorized>
<li><NavLink href="article/new">New Article</NavLink></li>
</Authorized>
</AuthorizeView>
</ul>
</nav>
<ul class="menu gap-2">
<AuthorizeView>
<Authorized>
<li>
<NavLink ActiveClass="tab-active" href="Account/Manage">
<li class="flex content-center gap-2">
<NavLink href="Account/Manage">
@context.User.Identity?.Name
@if (context.User.FindFirst(ClaimTypes.NameIdentifier)?.Value is { } id) {
<div class="w-8">
<ProfilePictureComponent ProfileId="@id" />
</div>
}
</NavLink>
</li>
<li>
@ -55,28 +63,6 @@
</NotAuthorized>
</AuthorizeView>
</ul>
<AuthorizeView>
@if (context.User.FindFirst(ClaimTypes.NameIdentifier)?.Value is { } id) {
<div class="w-8">
<ProfilePictureComponent ProfileId="@id" />
</div>
}
</AuthorizeView>
</div>
</div>
<div class="flex justify-center bg-base-300">
<nav class="tabs tabs-bordered">
<NavLink ActiveClass="tab-active" class="tab" href="" Match="NavLinkMatch.All">Home</NavLink>
<NavLink ActiveClass="tab-active" class="tab" href="weather">Weather</NavLink>
<NavLink ActiveClass="tab-active" class="tab" href="auth">Auth Required</NavLink>
<AuthorizeView Policy="ArticleEditPermissions">
<Authorized>
<NavLink ActiveClass="tab-active" class="tab" href="article/new">New Article</NavLink>
</Authorized>
</AuthorizeView>
</nav>
</div>
</header>
@code {
private string? _currentUrl;

View file

@ -0,0 +1,6 @@
<picture>
<source type="image/jxl" srcset="img/logo.jxl" />
<source type="image/webp" srcset="img/logo.webp" />
<source type="image/svg+xml" scrset="img/logo.svg" />
<img class="max-h-full object-contain object-left" src="img/logo.png" alt="Wave" />
</picture>

File diff suppressed because one or more lines are too long