From 734dd2768a0fa2626dc40118581532cf9b4a0551 Mon Sep 17 00:00:00 2001 From: Frede Hundewadt <22748698+fhdk@users.noreply.github.com> Date: Tue, 15 Mar 2022 12:04:15 +0100 Subject: [PATCH] WIP - order draft with state --- Wonky.Client/AppId.cs | 4 +- Wonky.Client/Components/AppSpinner.razor | 3 + .../Components/CompanySortColumn.razor.cs | 3 +- Wonky.Client/Components/CompanyTable.razor | 3 +- Wonky.Client/Components/ItemTable.razor | 2 +- Wonky.Client/Components/ItemTable.razor.cs | 1 + Wonky.Client/Components/PoLineCreate.razor | 69 -------- Wonky.Client/Components/PoLineCreate.razor.cs | 41 ----- .../Components/PurchaseOrderLinesTable.razor | 66 -------- .../PurchaseOrderLinesTable.razor.cs | 25 --- .../PurchaseOrderLinesTable.razor.css | 0 .../Components/PurchaseOrderTable.razor | 51 ------ .../Components/PurchaseOrderTable.razor.cs | 25 --- .../Components/PurchaseOrderTable.razor.css | 2 - .../Components/RegLookupAddress.razor | 4 +- .../Components/RegLookupAddress.razor.css | 11 -- Wonky.Client/Components/RegLookupVatNo.razor | 4 +- .../HttpInterceptorService.cs | 5 +- Wonky.Client/Pages/OrderDraft.razor | 159 ++++++++++++++++++ Wonky.Client/Pages/OrderDraft.razor.cs | 95 +++++++++++ Wonky.Client/Pages/ShoppingCart.razor | 153 ----------------- Wonky.Client/Shared/MainLayout.razor.css | 2 +- Wonky.Client/Shared/NavMenu.razor | 10 +- Wonky.Client/wwwroot/index.html | 2 +- Wonky.Entity/Models/Cart.cs | 19 +-- 25 files changed, 289 insertions(+), 470 deletions(-) create mode 100644 Wonky.Client/Components/AppSpinner.razor delete mode 100644 Wonky.Client/Components/PoLineCreate.razor delete mode 100644 Wonky.Client/Components/PoLineCreate.razor.cs delete mode 100644 Wonky.Client/Components/PurchaseOrderLinesTable.razor delete mode 100644 Wonky.Client/Components/PurchaseOrderLinesTable.razor.cs delete mode 100644 Wonky.Client/Components/PurchaseOrderLinesTable.razor.css delete mode 100644 Wonky.Client/Components/PurchaseOrderTable.razor delete mode 100644 Wonky.Client/Components/PurchaseOrderTable.razor.cs delete mode 100644 Wonky.Client/Components/PurchaseOrderTable.razor.css delete mode 100644 Wonky.Client/Components/RegLookupAddress.razor.css create mode 100644 Wonky.Client/Pages/OrderDraft.razor create mode 100644 Wonky.Client/Pages/OrderDraft.razor.cs delete mode 100644 Wonky.Client/Pages/ShoppingCart.razor diff --git a/Wonky.Client/AppId.cs b/Wonky.Client/AppId.cs index 91b972b6..38a63d40 100644 --- a/Wonky.Client/AppId.cs +++ b/Wonky.Client/AppId.cs @@ -2,8 +2,8 @@ namespace Wonky.Client; public class AppId { - public string Version { get; set; } = "0.2.1"; - public string Name { get; set; } = "Inno Client"; + public string Version { get; set; } = "0.2.2"; + public string Name { get; set; } = "Wonky Online"; public bool IsBeta { get; set; } = false; } \ No newline at end of file diff --git a/Wonky.Client/Components/AppSpinner.razor b/Wonky.Client/Components/AppSpinner.razor new file mode 100644 index 00000000..aea463fa --- /dev/null +++ b/Wonky.Client/Components/AppSpinner.razor @@ -0,0 +1,3 @@ +
+ Afventer svar fra service ...Afventer svar fra service ... +
diff --git a/Wonky.Client/Components/CompanySortColumn.razor.cs b/Wonky.Client/Components/CompanySortColumn.razor.cs index a0c749ae..a31219aa 100644 --- a/Wonky.Client/Components/CompanySortColumn.razor.cs +++ b/Wonky.Client/Components/CompanySortColumn.razor.cs @@ -21,8 +21,7 @@ namespace Wonky.Client.Components { public partial class CompanySortColumn { - [Parameter] - public EventCallback OnSortChanged { get; set; } + [Parameter] public EventCallback OnSortChanged { get; set; } private string SortColumn { get; set; } = "name"; private async Task ApplySort(ChangeEventArgs eventArgs) diff --git a/Wonky.Client/Components/CompanyTable.razor b/Wonky.Client/Components/CompanyTable.razor index c9b938f0..f8a56944 100644 --- a/Wonky.Client/Components/CompanyTable.razor +++ b/Wonky.Client/Components/CompanyTable.razor @@ -67,5 +67,6 @@ } else { -
Vent venligst... Henter data...
+ + } \ No newline at end of file diff --git a/Wonky.Client/Components/ItemTable.razor b/Wonky.Client/Components/ItemTable.razor index 5a11cc93..b6f5459d 100644 --- a/Wonky.Client/Components/ItemTable.razor +++ b/Wonky.Client/Components/ItemTable.razor @@ -57,5 +57,5 @@ } else { -
Vent venligst... Henter data...
+ } \ No newline at end of file diff --git a/Wonky.Client/Components/ItemTable.razor.cs b/Wonky.Client/Components/ItemTable.razor.cs index 3df0822c..77174e3b 100644 --- a/Wonky.Client/Components/ItemTable.razor.cs +++ b/Wonky.Client/Components/ItemTable.razor.cs @@ -16,6 +16,7 @@ using Blazored.Toast.Services; using Microsoft.AspNetCore.Components; using Wonky.Entity.DTO; +using Wonky.Entity.Models; namespace Wonky.Client.Components; diff --git a/Wonky.Client/Components/PoLineCreate.razor b/Wonky.Client/Components/PoLineCreate.razor deleted file mode 100644 index 22fca664..00000000 --- a/Wonky.Client/Components/PoLineCreate.razor +++ /dev/null @@ -1,69 +0,0 @@ -@using Microsoft.AspNetCore.Components -@* -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// -*@ - - - - - -
- -
- - -
-
- -
- -
- - -
-
- -
- -
- - -
-
- -
- -
- - -
-
- -
- -
- - -
-
- -
-
- -
-
-
- diff --git a/Wonky.Client/Components/PoLineCreate.razor.cs b/Wonky.Client/Components/PoLineCreate.razor.cs deleted file mode 100644 index f70d541c..00000000 --- a/Wonky.Client/Components/PoLineCreate.razor.cs +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// - -using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Forms; -using Wonky.Client.Models; -using Wonky.Entity.DTO; - -namespace Wonky.Client.Components; - -public partial class PoLineCreate -{ - private List Lines = new(); - private CrmActivityLine _orderLine = new(); - private EditContext _editContext; - - - [Parameter] public PurchaseOrder PurchaseOrder { get; set; } - - protected override async Task OnInitializedAsync() - { - - } - - private void CreateLine() - { - Lines.Add(_orderLine); - } -} \ No newline at end of file diff --git a/Wonky.Client/Components/PurchaseOrderLinesTable.razor b/Wonky.Client/Components/PurchaseOrderLinesTable.razor deleted file mode 100644 index a29cd48d..00000000 --- a/Wonky.Client/Components/PurchaseOrderLinesTable.razor +++ /dev/null @@ -1,66 +0,0 @@ -@* -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// -*@ - -
-
- Varenr. -
-
- Tekst -
-
- Antal -
-
- Stk.pris -
-
- Rabat -
-
- Linjesum -
-
-@if (Lines.Any()) -{ - foreach (var line in Lines) - { -
-
- @line.Sku -
-
- @line.Text -
-
- @line.Qty -
-
- @line.Price -
-
- @line.Discount -
-
- @(line.Qty * (line.Price - (line.Price * line.Discount / 100 ))) -
-
- -
-
- } -} \ No newline at end of file diff --git a/Wonky.Client/Components/PurchaseOrderLinesTable.razor.cs b/Wonky.Client/Components/PurchaseOrderLinesTable.razor.cs deleted file mode 100644 index 699ca854..00000000 --- a/Wonky.Client/Components/PurchaseOrderLinesTable.razor.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// - -using Microsoft.AspNetCore.Components; -using Wonky.Entity.DTO; - -namespace Wonky.Client.Components; - -public partial class PurchaseOrderLinesTable -{ - [Parameter] public List Lines { get; set; } = new(); - -} \ No newline at end of file diff --git a/Wonky.Client/Components/PurchaseOrderLinesTable.razor.css b/Wonky.Client/Components/PurchaseOrderLinesTable.razor.css deleted file mode 100644 index e69de29b..00000000 diff --git a/Wonky.Client/Components/PurchaseOrderTable.razor b/Wonky.Client/Components/PurchaseOrderTable.razor deleted file mode 100644 index 46e520cc..00000000 --- a/Wonky.Client/Components/PurchaseOrderTable.razor +++ /dev/null @@ -1,51 +0,0 @@ -@* -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// -*@ - -
-
- Id -
-
- Konto -
-
Firma
-
-
-
-
-
-@if (PurchaseOrders.Any()) -{ - @foreach (var order in PurchaseOrders) - { -
-
- @order.ActivityId -
-
- @order.Account -
-
- @order.Name -
-
-
-
-
-
- } -} \ No newline at end of file diff --git a/Wonky.Client/Components/PurchaseOrderTable.razor.cs b/Wonky.Client/Components/PurchaseOrderTable.razor.cs deleted file mode 100644 index 4244198b..00000000 --- a/Wonky.Client/Components/PurchaseOrderTable.razor.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the Affero GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// Affero GNU General Public License for more details. -// -// You should have received a copy of the Affero GNU General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// - -using Microsoft.AspNetCore.Components; -using Wonky.Client.Models; - -namespace Wonky.Client.Components; - -public partial class PurchaseOrderTable -{ - [Parameter] public List PurchaseOrders { get; set; } = new(); - -} \ No newline at end of file diff --git a/Wonky.Client/Components/PurchaseOrderTable.razor.css b/Wonky.Client/Components/PurchaseOrderTable.razor.css deleted file mode 100644 index 46800d16..00000000 --- a/Wonky.Client/Components/PurchaseOrderTable.razor.css +++ /dev/null @@ -1,2 +0,0 @@ -body { -} diff --git a/Wonky.Client/Components/RegLookupAddress.razor b/Wonky.Client/Components/RegLookupAddress.razor index 14f91af1..12d046ad 100644 --- a/Wonky.Client/Components/RegLookupAddress.razor +++ b/Wonky.Client/Components/RegLookupAddress.razor @@ -106,8 +106,6 @@ } else { -
- Vent venligst... Henter data... -
+ } diff --git a/Wonky.Client/Components/RegLookupAddress.razor.css b/Wonky.Client/Components/RegLookupAddress.razor.css deleted file mode 100644 index f8223a63..00000000 --- a/Wonky.Client/Components/RegLookupAddress.razor.css +++ /dev/null @@ -1,11 +0,0 @@ -@media (min-width: 768px) and (max-width:991px){ - .card-columns { - column-count: 3; - } -} - -@media (min-width: 992px){ - .card-columns { - column-count: 4; - } -} diff --git a/Wonky.Client/Components/RegLookupVatNo.razor b/Wonky.Client/Components/RegLookupVatNo.razor index 08b2ed6e..cf5fddfd 100644 --- a/Wonky.Client/Components/RegLookupVatNo.razor +++ b/Wonky.Client/Components/RegLookupVatNo.razor @@ -96,8 +96,6 @@ } else { -
- Vent venligst... Henter data... -
+ } diff --git a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs index 593ebdb6..e81aca6c 100644 --- a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs +++ b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs @@ -87,8 +87,9 @@ namespace Wonky.Client.HttpInterceptors switch (e.Response.StatusCode) { case HttpStatusCode.NotFound: - _navigation.NavigateTo("/404"); - message = "404 - Page not found."; + //_navigation.NavigateTo("/404"); + message = "404 - Siden blev ikke fundet."; + _toast.ShowInfo(message); break; case HttpStatusCode.BadRequest: _navigation.NavigateTo($"/login/{currDoc}"); diff --git a/Wonky.Client/Pages/OrderDraft.razor b/Wonky.Client/Pages/OrderDraft.razor new file mode 100644 index 00000000..5711d86b --- /dev/null +++ b/Wonky.Client/Pages/OrderDraft.razor @@ -0,0 +1,159 @@ +@using Wonky.Client.Components +@using System.ComponentModel.DataAnnotations + +@page "/OrdreKladde" +
+
+ +
+
+ +
+
+ +
+
+ +
+
+@if (SalesItems.Any()) +{ + + + + + + + + + + + @foreach (var item in SalesItems) + { + + + + + + + } + +
NavnVarenrStk / Pris
+ @item.Name + + @item.Sku + +
    + @foreach (var rate in item.Rates) + { +
  • +
    @rate.Quantity
    +
    @rate.Rate
    +
  • + } +
+
+ +
+} +else +{ + +} +@if (_selectedItem != null && ShowItem) +{ +
+
Kladdelinje
+
+
+
+ Varenavn +
+
+ Varenr +
+
+ Antal +
+
+ Pris +
+
+ +
+
+
+
+ @_selectedItem.Name +
+
+ @_selectedItem.Sku +
+
+ +
+
+ +
+
+ +
+
+
+
+} + +@* Show the cart contents if there are items in it. *@ +@if (CartStateProvider != null && CartStateProvider.ShoppingCart.Items.Count > 0) +{ +
+
Ordrekladde
+
+ + + + + + + + + + + + + @foreach (var cItem in CartStateProvider.ShoppingCart.Items) + { + + + + + + + + + } + + + + + + + + + +
NavnVarenrAntalEnhedsprisLinjesum 
+ @cItem.Item.Name + + @cItem.Item.Sku + + @cItem.Quantity + + @cItem.Price + + @cItem.Total + + +
Total@CartStateProvider.ShoppingCart.Total
+
+
+} \ No newline at end of file diff --git a/Wonky.Client/Pages/OrderDraft.razor.cs b/Wonky.Client/Pages/OrderDraft.razor.cs new file mode 100644 index 00000000..6210700c --- /dev/null +++ b/Wonky.Client/Pages/OrderDraft.razor.cs @@ -0,0 +1,95 @@ +using Microsoft.AspNetCore.Components; +using Wonky.Client.HttpInterceptors; +using Wonky.Client.HttpRepository; +using Wonky.Client.Shared; +using Wonky.Entity.DTO; +using Wonky.Entity.Models; +using Wonky.Entity.Requests; + +namespace Wonky.Client.Pages; + +public partial class OrderDraft : IDisposable +{ + [CascadingParameter] CartStateProvider CartStateProvider { get; set; } + private bool ShowItem; + private string Quantity = "1"; + private string Price = "0"; + private SalesItemDto _selectedItem { get; set; } = new(); + private List SalesItems { get; set; } = new(); + private SalesItemDto SelectedItem { get; set; } = new(); + private MetaData _meta { get; set; } = new(); + private PagingParams _paging { get; set; } = new(); + [Inject] private ISalesItemHttpRepository ItemRepo { get; set; } + [Inject] private HttpInterceptorService Interceptor { get; set; } + + protected override async Task OnInitializedAsync() + { + Interceptor.RegisterEvent(); + Interceptor.RegisterBeforeSendEvent(); + await GetSalesItems(); + } + private async Task GetSalesItems() + { + var response = await ItemRepo.GetSalesItems(_paging); + SalesItems = response.Items!; + _meta = response.MetaData; + } + + private void ItemSelect(string itemId) + { + ShowItem = true; + _selectedItem = (from x in SalesItems where x.ItemId == itemId select x).First(); + Price = _selectedItem.Rates[0].Rate; + Quantity = "1"; + } + + private async Task AddToCart(SalesItemDto salesItem) + { + ShowItem = false; + // create a new cart item + var item = new CartItem + { + Item = salesItem, + Quantity = Convert.ToInt32(Quantity), + Price = Convert.ToDecimal(Price) + }; + + // add it to the cart + CartStateProvider.ShoppingCart.Items.Add(item); + + // reset variables + _selectedItem = new(); + Quantity = "1"; + Price = "0"; + + // save the item using the CartStateProvider's save method + await CartStateProvider.SaveChangesAsync(); + } + private async Task RemoveItem(CartItem item) + { + // click on remove + CartStateProvider.ShoppingCart.Items.Remove(item); + // save the cart + await CartStateProvider.SaveChangesAsync(); + } + private async Task GroupFilterChanged(string groupFilter) + { + _paging.PageNumber = 1; + _paging.SelectGroup = groupFilter; + await GetSalesItems(); + } + private async Task SearchColumnChanged(string columnName) + { + _paging.PageNumber = 1; + _paging.SearchTerm = ""; + _paging.SearchColumn = columnName; + await GetSalesItems(); + } + private async Task SearchPhraseChanged(string searchTerm) + { + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetSalesItems(); + } + public void Dispose() => Interceptor.DisposeEvent(); +} \ No newline at end of file diff --git a/Wonky.Client/Pages/ShoppingCart.razor b/Wonky.Client/Pages/ShoppingCart.razor deleted file mode 100644 index 49ad43d1..00000000 --- a/Wonky.Client/Pages/ShoppingCart.razor +++ /dev/null @@ -1,153 +0,0 @@ -@using Wonky.Entity.Models -@page "/cart" -

ShoppingCart

- -@if (AllItems != null) -{ -

select item

- -
- @if (SelectedItem != null && ShowItem) - { -
- - - - - - - - - - - - - - - - - -
Name:@SelectedItem.Name
Description:@SelectedItem.Description
Price:$@SelectedItem.Price
Add To Cart: - Quantity: - - -
-
- } - - // Show the cart contents if there are items in it. - @if (CartStateProvider != null && CartStateProvider.ShoppingCart.Items.Count > 0) - { -
-

Your Cart:

-

Total: $@CartStateProvider.ShoppingCart.Total

- - @foreach (var item in CartStateProvider.ShoppingCart.Items) - { - - - - - - - - - - - - - - - - - - - - - - - - - - - } -
-
-
Name:@item.Item.Name
Description:@item.Item.Description
Price:$@item.Item.Price
Quantity:@item.Quantity
Total:$@item.Total
- @*Clicking this button passes the item so we can remove it*@ - -
-
-

Total: $@CartStateProvider.ShoppingCart.Total

- } -} -@code { - [CascadingParameter] CartStateProvider CartStateProvider { get; set; } - private bool ShowItem; - private string Quantity = "1"; - private List AllItems { get; set; } = new(); - private Item SelectedItem { get; set; } = new(); - - void ItemSelected(ChangeEventArgs args) - { - // Item has been selected - SelectedItem = (from x in AllItems where x.Id == Convert.ToInt32(args.Value) select x).First(); - Quantity = "1"; - ShowItem = true; - } - - async Task AddToCart() - { - // create a new cart item - var item = new CartItem - { - Item = SelectedItem, - Quantity = Convert.ToInt32(Quantity) - }; - - // add it to the cart - CartStateProvider.ShoppingCart.Items.Add(item); - - // save the item using the CartStateProvider's save method - await CartStateProvider.SaveChangesAsync(); - - // hide the selected item - ShowItem = false; - } - - async Task RemoveItem(CartItem item) - { - // click on remove - CartStateProvider.ShoppingCart.Items.Remove(item); - - // save the cart - await CartStateProvider.SaveChangesAsync(); - } - - protected override void OnInitialized() - { - // TODO load the items from server - // just create some for now - AllItems = new List(); - AllItems.Add(new Item() - { - Id = 1, - Name = "TEST 1", - Description = "Description 1", - Price = (decimal)10.99 - }); - AllItems.Add(new Item() - { - Id = 2, - Name = "TEST 2", - Description = "Description 2", - Price = (decimal)19.99 - }); - - } -} \ No newline at end of file diff --git a/Wonky.Client/Shared/MainLayout.razor.css b/Wonky.Client/Shared/MainLayout.razor.css index 89c04cce..b194747b 100644 --- a/Wonky.Client/Shared/MainLayout.razor.css +++ b/Wonky.Client/Shared/MainLayout.razor.css @@ -59,7 +59,7 @@ main { } .sidebar { - width: 250px; + width: 200px; height: 100vh; position: sticky; top: 0; diff --git a/Wonky.Client/Shared/NavMenu.razor b/Wonky.Client/Shared/NavMenu.razor index 4d7fdbc9..5bc2cca6 100644 --- a/Wonky.Client/Shared/NavMenu.razor +++ b/Wonky.Client/Shared/NavMenu.razor @@ -20,7 +20,9 @@