- Add LoopFit.Domain with entities (ApplicationUser, Workout, CalorieEntry, VitalData), enums (WorkoutType), and interfaces (IJwtTokenGenerator, IUserRepository, IWorkoutRepository) - Add LoopFit.Application with auth DTOs, service interfaces, and DI setup - Add LoopFit.Infrastructure with EF Core DbContext (PostgreSQL), ASP.NET Core Identity, JWT token generation, and repository implementations - Add AuthController with register/login/me endpoints and JWT Bearer auth - Add MAUI auth services (AuthService, TokenStorageService) and Login/Register Blazor pages
35 lines
820 B
Plaintext
35 lines
820 B
Plaintext
@inherits LayoutComponentBase
|
|
|
|
<div class="page">
|
|
<div class="sidebar">
|
|
<NavMenu/>
|
|
</div>
|
|
|
|
<main>
|
|
<div class="top-row px-4">
|
|
<a href="" @onclick="Logout" @onclick:preventDefault>Abmelden</a>
|
|
</div>
|
|
|
|
<article class="content px-4">
|
|
@Body
|
|
</article>
|
|
</main>
|
|
</div>
|
|
|
|
<div id="blazor-error-ui" data-nosnippet>
|
|
An unhandled error has occurred.
|
|
<a href="." class="reload">Reload</a>
|
|
<span class="dismiss">🗙</span>
|
|
</div>
|
|
|
|
@code {
|
|
[Inject] private Services.AuthService AuthService { get; set; } = default!;
|
|
[Inject] private NavigationManager Navigation { get; set; } = default!;
|
|
|
|
private async Task Logout()
|
|
{
|
|
await AuthService.LogoutAsync();
|
|
Navigation.NavigateTo("/login", forceLoad: true);
|
|
}
|
|
}
|