You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NavMenu.razor 1.6 KiB

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