Rend le menu compte mobile plus compact

This commit is contained in:
2026-04-15 19:40:12 +02:00
parent c23dcc8484
commit 9fb7d2ce1b
2 changed files with 143 additions and 10 deletions

View File

@@ -28,11 +28,25 @@
<a class="@BuildNavLinkClass(UserPaths)" href="utilisateur.html" aria-current="@BuildAriaCurrent(UserPaths)">Utilisateur</a>
</nav>
<div class="site-menu-account">
<span class="micro-label">Compte joueur</span>
<div class="site-menu-account @(IsMobileAccountMenuOpen ? "is-open" : string.Empty)">
<div class="site-menu-account-top">
<span class="micro-label">Compte joueur</span>
<button class="site-menu-account-toggle"
type="button"
aria-label="@BuildAccountMenuToggleLabel()"
aria-controls="site-menu-account-panel"
aria-expanded="@BoolString(IsMobileAccountMenuOpen)"
@onclick="ToggleMobileAccountMenu">
<span class="site-menu-account-toggle-icon" aria-hidden="true">
<span></span>
<span></span>
<span></span>
</span>
</button>
</div>
@if (IsAuthenticated)
{
<div class="site-menu-account-panel">
<div class="site-menu-account-panel" id="site-menu-account-panel">
<div class="site-menu-user">
<strong>@DisplayName</strong>
<span>@DisplayMeta</span>
@@ -42,7 +56,7 @@
}
else
{
<div class="site-menu-account-actions">
<div class="site-menu-account-actions" id="site-menu-account-panel">
<button class="button secondary small" type="button" @onclick="OpenLoginModal">Se connecter</button>
<button class="button ghost small" type="button" @onclick="OpenRegisterModal">Creer un compte</button>
</div>
@@ -164,6 +178,7 @@
private bool IsAuthenticated;
private bool ShowAuthModal;
private bool IsSubmitting;
private bool IsMobileAccountMenuOpen;
private string? FormError;
private string AuthModalTitle = "Se connecter";
private AuthMode Mode = AuthMode.Login;
@@ -208,6 +223,7 @@
private void OpenLoginModal()
{
CloseMobileAccountMenu();
ShowAuthModal = true;
SwitchToLogin();
RequestMenuSync();
@@ -215,6 +231,7 @@
private void OpenRegisterModal()
{
CloseMobileAccountMenu();
ShowAuthModal = true;
SwitchToRegister();
RequestMenuSync();
@@ -345,6 +362,7 @@
IsSubmitting = true;
FormError = null;
CloseMobileAccountMenu();
try
{
@@ -361,6 +379,26 @@
private void HandleAuthenticationStateChanged(Task<AuthenticationState> authenticationStateTask)
=> _ = InvokeAsync(RefreshAuthenticationStateAsync);
private void ToggleMobileAccountMenu()
{
IsMobileAccountMenuOpen = !IsMobileAccountMenuOpen;
RequestMenuSync();
}
private void CloseMobileAccountMenu()
{
if (!IsMobileAccountMenuOpen)
{
return;
}
IsMobileAccountMenuOpen = false;
RequestMenuSync();
}
private string BuildAccountMenuToggleLabel()
=> IsMobileAccountMenuOpen ? "Fermer le menu du compte" : "Ouvrir le menu du compte";
private void RequestMenuSync()
=> _syncMenuAfterRender = true;