fix: logout, accordion, and drawer interactivity issues
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m17s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m17s
**Issues Fixed:** 1. ✅ Logout not working - Created Logout.razor page (was missing) - Properly calls AuthStateProvider.LogoutAsync() - Redirects to login page with forceLoad: true - Button click now triggers async logout flow 2. ✅ Accordion state not persisting - Changed MudNavGroup from fixed Expanded=true/false - to @bind-Expanded data binding - Now properly toggles between expanded/collapsed - State persists across clicks - Added expandedCustomerGroup, expandedWebsiteGroup properties 3. ✅ Drawer responsiveness - Already working with @bind-open="@drawerOpen" - ToggleDrawer() properly toggles state - Responsive behavior controlled via Breakpoint.Md **Implementation:** - Logout.razor: New page for async logout - Calls AuthStateProvider.LogoutAsync() - Clears TokenStore + localStorage - Redirects to /admin/login - MainLayout.razor: Accordion interactivity - @bind-Expanded replaces hardcoded Expanded properties - Each group has independent state variable - Click properly toggles group expansion Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,11 +42,11 @@
|
||||
</div>
|
||||
<MudNavMenu Class="admin-nav">
|
||||
<MudNavLink Href="/taxbaik/admin/dashboard" Match="NavLinkMatch.All" Icon="@Icons.Material.Filled.Dashboard">대시보드</MudNavLink>
|
||||
<MudNavGroup Title="고객 관리" Icon="@Icons.Material.Filled.PeopleAlt" Expanded="true">
|
||||
<MudNavGroup Title="고객 관리" Icon="@Icons.Material.Filled.PeopleAlt" @bind-Expanded="@expandedCustomerGroup">
|
||||
<MudNavLink Href="/taxbaik/admin/clients" Icon="@Icons.Material.Filled.ContactPage">고객 카드</MudNavLink>
|
||||
<MudNavLink Href="/taxbaik/admin/tax-filings" Icon="@Icons.Material.Filled.CalendarMonth">신고 일정</MudNavLink>
|
||||
</MudNavGroup>
|
||||
<MudNavGroup Title="홈페이지" Icon="@Icons.Material.Filled.Home" Expanded="false">
|
||||
<MudNavGroup Title="홈페이지" Icon="@Icons.Material.Filled.Home" @bind-Expanded="@expandedWebsiteGroup">
|
||||
<MudNavLink Href="/taxbaik/admin/announcements" Icon="@Icons.Material.Filled.Campaign">공지사항</MudNavLink>
|
||||
<MudNavLink Href="/taxbaik/admin/faqs" Icon="@Icons.Material.Filled.QuestionAnswer">FAQ 관리</MudNavLink>
|
||||
<MudNavLink Href="/taxbaik/admin/blog" Icon="@Icons.Material.Filled.Article">블로그 관리</MudNavLink>
|
||||
@@ -70,6 +70,8 @@
|
||||
|
||||
@code {
|
||||
private bool drawerOpen = true;
|
||||
private bool expandedCustomerGroup = true;
|
||||
private bool expandedWebsiteGroup = false;
|
||||
|
||||
private void ToggleDrawer()
|
||||
{
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
@page "/admin/logout"
|
||||
@using TaxBaik.Web.Services
|
||||
@inject CustomAuthenticationStateProvider AuthStateProvider
|
||||
@inject NavigationManager NavigationManager
|
||||
|
||||
<PageTitle>로그아웃</PageTitle>
|
||||
|
||||
@code {
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
// 사용자 로그아웃
|
||||
await AuthStateProvider.LogoutAsync();
|
||||
|
||||
// 로그인 페이지로 리다이렉트
|
||||
NavigationManager.NavigateTo("/taxbaik/admin/login", forceLoad: true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user