25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

51 lines
1.6 KiB

  1. <div class="top-row ps-3 navbar navbar-dark">
  2. <div class="container-fluid">
  3. <a class="navbar-brand" href="">@Texts.ProjectName</a>
  4. <button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
  5. <span class="navbar-toggler-icon"></span>
  6. </button>
  7. </div>
  8. </div>
  9. <div @onclick="ToggleNavMenu">
  10. <nav class="flex-column">
  11. <div class="nav-item px-3">
  12. <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
  13. <span class="oi oi-home" aria-hidden="true"></span> Dashboard
  14. </NavLink>
  15. </div>
  16. <div class="nav-item px-3">
  17. <NavLink class="nav-link" href="Plants">
  18. <span class="oi oi-list-rich" aria-hidden="true"></span> Plants
  19. </NavLink>
  20. </div>
  21. <div class="nav-item px-3">
  22. <NavLink class="nav-link" @onclick="Signout">
  23. <span class="oi oi-account-logout" aria-hidden="true"></span> Sign out
  24. </NavLink>
  25. </div>
  26. </nav>
  27. </div>
  28. @code {
  29. private bool collapseNavMenu = true;
  30. private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
  31. private void ToggleNavMenu()
  32. {
  33. collapseNavMenu = !collapseNavMenu;
  34. }
  35. private async Task Signout()
  36. {
  37. var confirm = await SwalUtils.ShowSwal(title: "", message: "از خروج اطمینان دارید؟", icon: SweetAlertIcon.Question);
  38. if (!confirm.IsConfirmed)
  39. return;
  40. await LocalStorage.RemoveItemAsync(Statics.LoginTokenKey);
  41. NavigationManager.NavigateTo("/Login");
  42. }
  43. }