From 2c68d27c2f166222a201c0381c20f26d1d042b3d Mon Sep 17 00:00:00 2001 From: Frede Hundewadt <22748698+fhdk@users.noreply.github.com> Date: Fri, 5 Aug 2022 13:03:19 +0200 Subject: [PATCH] build v0.10.54 --- .../ProductInventoryTableComponent.razor | 62 +-- .../Components/SearchPhraseComponent.razor | 2 +- .../Components/SearchPhraseComponent.razor.cs | 17 +- Wonky.Client/Models/Draft.cs | 2 +- Wonky.Client/Pages/ActivityNewVisitPage.razor | 381 +++++++++--------- .../Pages/ActivityNewVisitPage.razor.cs | 102 +++-- Wonky.Client/Pages/CustomerViewPage.razor | 17 +- Wonky.Client/Pages/CustomerViewPage.razor.cs | 13 +- Wonky.Client/Pages/ItemCatalogPage.razor | 2 +- Wonky.Client/Pages/ItemCatalogPage.razor.cs | 19 +- .../Pages/ProductHistoryItemPage.razor | 2 +- .../Pages/ProductHistoryItemPage.razor.cs | 1 + .../Pages/ProductHistoryListPage.razor | 2 +- Wonky.Client/Pages/ProductInventoryPage.razor | 10 +- .../Pages/ProductInventoryPage.razor.cs | 19 +- .../Shared/DraftStateProvider.razor.cs | 13 +- Wonky.Client/Shared/NavMenu.razor | 4 +- Wonky.Client/Shared/PriceListModal.razor | 6 +- Wonky.Client/Shared/PriceListModal.razor.cs | 47 ++- Wonky.Client/Shared/ProductHistoryModal.razor | 68 ++++ .../Shared/ProductHistoryModal.razor.cs | 65 +++ Wonky.Client/wwwroot/appsettings.json | 4 +- Wonky.Entity/DTO/ActivityDto.cs | 5 +- 23 files changed, 530 insertions(+), 333 deletions(-) create mode 100644 Wonky.Client/Shared/ProductHistoryModal.razor create mode 100644 Wonky.Client/Shared/ProductHistoryModal.razor.cs diff --git a/Wonky.Client/Components/ProductInventoryTableComponent.razor b/Wonky.Client/Components/ProductInventoryTableComponent.razor index c111761d..63881426 100644 --- a/Wonky.Client/Components/ProductInventoryTableComponent.razor +++ b/Wonky.Client/Components/ProductInventoryTableComponent.razor @@ -17,35 +17,41 @@ @if (Inventory.Any()) { -
-
-
-
- Produkt -
-
- Varenr. -
-
- Antal -
-
-
+ + + + + + + + + + @foreach (var product in Inventory) { - -
-
- @product.Description -
-
- @product.Sku -
-
- @product.Quantity -
-
-
+ + + + + + } - + +
+ Produkt + + Varenr. + + Antal + + Historik +
+ @product.Description + + @product.Sku + + @product.Quantity + + Linjer +
} \ No newline at end of file diff --git a/Wonky.Client/Components/SearchPhraseComponent.razor b/Wonky.Client/Components/SearchPhraseComponent.razor index d6d74a2b..e59023e0 100644 --- a/Wonky.Client/Components/SearchPhraseComponent.razor +++ b/Wonky.Client/Components/SearchPhraseComponent.razor @@ -17,7 +17,7 @@
+ @bind-value="@_searchTerm" @bind-value:event="oninput" @onkeyup="OnSearchChanged" />
diff --git a/Wonky.Client/Components/SearchPhraseComponent.razor.cs b/Wonky.Client/Components/SearchPhraseComponent.razor.cs index 7154744d..ef32b804 100644 --- a/Wonky.Client/Components/SearchPhraseComponent.razor.cs +++ b/Wonky.Client/Components/SearchPhraseComponent.razor.cs @@ -24,7 +24,7 @@ namespace Wonky.Client.Components private Timer _timer = new(); private string _searchTerm { get; set; } = ""; [Parameter] public EventCallback OnChanged { get; set; } - [Parameter] public string SavedSearch { get; set; } = string.Empty; + [Parameter] public string SavedSearch { get; set; } = ""; protected override void OnParametersSet() { @@ -33,29 +33,32 @@ namespace Wonky.Client.Components protected override void OnInitialized() { - if (string.IsNullOrWhiteSpace(_searchTerm)) - return; - OnSearchChanged(); + if (string.IsNullOrWhiteSpace(_searchTerm)) return; + OnChanged.InvokeAsync(_searchTerm); } private void ClearSearch() { - SavedSearch = string.Empty; - _searchTerm = string.Empty; + SavedSearch = ""; + _searchTerm = ""; OnChanged.InvokeAsync(_searchTerm); } private void OnSearchChanged() { - _timer = new Timer(750); + _timer.Enabled = false; + _timer.Dispose(); + _timer = new Timer(500); _timer.Elapsed += OnTimerElapsed; _timer.AutoReset = false; _timer.Enabled = true; + } private void OnTimerElapsed(object? sender, ElapsedEventArgs e) { OnChanged.InvokeAsync(_searchTerm); + _timer.Elapsed -= OnTimerElapsed; _timer.Enabled = false; _timer.Dispose(); } diff --git a/Wonky.Client/Models/Draft.cs b/Wonky.Client/Models/Draft.cs index f8d608fd..677053df 100644 --- a/Wonky.Client/Models/Draft.cs +++ b/Wonky.Client/Models/Draft.cs @@ -25,7 +25,7 @@ public class DraftItem public decimal Price { get; set; } public decimal Discount { get; set; } public bool Sas { get; set; } - public decimal LineTotal => (Price - Price * Discount / 100) * (decimal) Quantity; + public decimal LineTotal => (Price - Price * Discount / 100) * Quantity; } public class Draft diff --git a/Wonky.Client/Pages/ActivityNewVisitPage.razor b/Wonky.Client/Pages/ActivityNewVisitPage.razor index 06e813ae..4608ffec 100644 --- a/Wonky.Client/Pages/ActivityNewVisitPage.razor +++ b/Wonky.Client/Pages/ActivityNewVisitPage.razor @@ -15,30 +15,38 @@ // *@ -@page "/companies/{companyId}/activities/new" +@page "/companies/{CompanyId}/activities/new" @using Microsoft.AspNetCore.Authorization @attribute [Authorize(Roles = "Advisor")] @using Wonky.Client.Components - -
-
-
-
-

@_workDate.ToLongDateString()

-
-
- -
+ + + +
+
+

@_workDate.ToLongDateString()

+
+
+
-
- - -
- @_draft.Name - @_draft.Account + +
+
+

@_draft.Name - @_draft.Account

+
-
+ +@if (_reportClosdd) +{ +
Der kan ikke oprettes besøg når der findes rapport for @_workDate.ToShortDateString()
+} +else +{ + + +
@@ -48,6 +56,13 @@ + @if (_draft.ActivityTypeEnum == "phone") + { +
+ + +
+ }
@@ -120,187 +135,189 @@
-
-
- @* Order lines *@ -
-

- -

-
-
-
-
- @* Order draft lines *@ - - - - - - - - - - - - - - - - - - @if (DraftStateProvider != null && DraftStateProvider.Draft.Items.Count > 0) - { - @foreach (var cartItem in DraftStateProvider.Draft.Items) - { - - - - - - - - - - } - } - - - - - - - - -
- Ordrekladde Global kladde (udløber efter @(DraftStateProvider.Draft.TimeToLiveInSeconds / 60)m inaktivitet) - - -
NavnVarenrAntalEnhedsprisLinjesumSAS
@cartItem.Item.Name@cartItem.Item.Sku@cartItem.Quantity@cartItem.Price@cartItem.LineTotal - - - -
Total@DraftStateProvider.Draft.Total - -
-
-
-
-
- @* draft line *@ - @if (_selectedItem != null && ShowItem) - { - + +
+ @* Order lines *@ +
+

+ +

+
+
+
+
+ @* Order draft lines *@ +
- + + - - - - - - + + + + + + + + @if (DraftStateProvider.Draft.Items.Count > 0) + { + @foreach (var cartItem in DraftStateProvider.Draft.Items) + { + + + + + + + + + + } + } - - - - - - + + + +
Kladdelinje + Ordrekladde Global kladde (udløber efter @(DraftStateProvider.Draft.TimeToLiveInSeconds / 60)m inaktivitet) + + +
AntalPrisRabatSASVarenr.
NavnVarenrAntalEnhedsprisLinjesumSAS
@cartItem.Item.Name@cartItem.Item.Sku@cartItem.Quantity@cartItem.Price@cartItem.LineTotal + + + +
- - - - - - - - @_selectedItem.Sku - + Total@DraftStateProvider.Draft.Total +
- } +
+
+
+
+ @* draft line *@ + @if (!string.IsNullOrWhiteSpace(_selectedItem.Name) && ShowItem) + { + + + + + + + + + + + + + + + + + + + + + + + + +
Kladdelinje
AntalPrisRabatSASVarenr.
+ + +
+ + +
+
+ + + + @_selectedItem.Sku + +
+ } +
+
+
+
+
+ @* Delivery address *@ +
+

+ +

+
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
- @* Delivery address *@ -
-

- -

-
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
+ +@if (HideButtons) +{ + +} +else +{ +
+ +
+ Annuller +
+
+
-
- -
- -
\ No newline at end of file +} +} diff --git a/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs b/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs index 5a134e85..d0591a33 100644 --- a/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs +++ b/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs @@ -46,8 +46,9 @@ public partial class ActivityNewVisitPage : IDisposable [Inject] private IActivityHttpRepository _activityRepo { get; set; } [Inject] private IReportHttpRepository _reportRepo { get; set; } // variables - private PriceListModal _priceList { get; set; } private readonly JsonSerializerOptions? _options = new JsonSerializerOptions{PropertyNameCaseInsensitive = true}; + private PriceListModal _priceListModal { get; set; } + private ProductHistoryModal _historyModal { get; set; } private SalesItemView _selectedItem { get; set; } = new(); private Preferences _prefs { get; set; } = new(); private ActivityDto _draft { get; set; } = new(); @@ -64,11 +65,13 @@ public partial class ActivityNewVisitPage : IDisposable private bool InvalidStatusType = true; private bool InvalidActivity = true; private bool InvalidCanvas = true; - private bool _reportClosdd { get; set; } = false; + private bool NoHistory = true; + private bool _reportClosdd { get; set; } private UserInfoView _ux { get; set; } = new(); private DateTime _workDate { get; set; } = DateTime.Now; private string _selectedDate { get; set; } = ""; private string _phone { get; set; } = ""; + protected override async Task OnParametersSetAsync() { @@ -80,9 +83,6 @@ public partial class ActivityNewVisitPage : IDisposable // raise flag if report is closed _reportClosdd = await _reportRepo.ReportExist(_selectedDate); - if(_reportClosdd) - _navigator.NavigateTo($"/sales-reports/view/{_selectedDate}"); - } protected override async Task OnInitializedAsync() @@ -112,6 +112,7 @@ public partial class ActivityNewVisitPage : IDisposable _draft.CompanyId = _company.CompanyId; _draft.BcId = _company.BcId; _draft.SalesRepId = _ux.Id; + _draft.SalesRep = _ux.Advisor; _draft.ActivityStatusEnum = "noSale"; _draft.VisitTypeEnum = _company.Account is "" or "NY" ? "new" : "recall"; @@ -126,7 +127,7 @@ public partial class ActivityNewVisitPage : IDisposable _draft.Name = _company.Name; _draft.Address1 = _company.Address1; - _draft.Address2 = _company.Address2; + _draft.Address2 = _company.Address2; _draft.ZipCode = _company.ZipCode; _draft.City = _company.City; @@ -139,21 +140,38 @@ public partial class ActivityNewVisitPage : IDisposable } private void CallPriceListModal() { - _priceList.Show(); - } + _priceListModal.Show(); + } + private async Task SelectSku(SelectedSku sku) { - ShowItem = true; - Console.WriteLine($"XTextPriceList => sku: {JsonSerializer.Serialize(sku)}"); + // fetch selected item _selectedItem = await _itemRepo.GetSalesItem(sku.ItemId); + + ShowItem = true; Price = sku.Rate; Quantity = sku.Quantity; + + StateHasChanged(); } - private void SetWorkDate(string workDate) + + private void CallHistoryModal() + { + _historyModal.Show(); + } + + // private void SelectPrice(decimal price) + // { + // Price = price.ToString("N2"); + // StateHasChanged(); + // } + + private async Task SetWorkDate(string workDate) { _selectedDate = workDate; _workDate = DateTime.Parse(_selectedDate); _draft.ActivityDate = _selectedDate; + _reportClosdd = await _reportRepo.ReportExist(_selectedDate); } private async Task CreateActivity() @@ -164,18 +182,22 @@ public partial class ActivityNewVisitPage : IDisposable return; } - if (_draft.ActivityStatusEnum == "order" && DraftStateProvider.Draft.Items.Count == 0) + if (_draft.ActivityStatusEnum == "order") { - _toast.ShowError("Ved bestilling skal der angives et eller flere varenumre."); - return; - } + if (DraftStateProvider.Draft.Items.Count == 0) + { + _toast.ShowError("Ved bestilling skal der angives et eller flere varenumre."); + return; + } - if (_draft.ActivityStatusEnum == "order" && string.IsNullOrWhiteSpace(_draft.Phone)) - { - _toast.ShowError("Ved bestilling til ny kunde skal telefon nummer angives."); - return; + if (string.IsNullOrWhiteSpace(_draft.Phone)) + { + _toast.ShowError("Ved bestilling til ny kunde skal telefon nummer angives."); + return; + + } } - + HideButtons = true; _draft.ActivityDate = _prefs.WorkDate; _draft.OurRef = _draft.ActivityTypeEnum switch @@ -184,29 +206,34 @@ public partial class ActivityNewVisitPage : IDisposable "onSite" => $"B:{_ux.FullName.Split(" ")[0]}", _ => "" }; - + _draft.Lines = new List(); var ln = 0; - var lines = DraftStateProvider.Draft.Items.Select(item => new ActivityLineDto - { - Price = item.Price, - Discount = item.Discount, - LineAmount = item.LineTotal, - Qty = item.Quantity, - Sku = item.Item.Sku, - Text = item.Item.Name, - ShortName = item.Item.ShortName, - LineNumber = ++ln, - Sas = item.Sas - }) - .ToList(); - _draft.Lines = lines; + if (DraftStateProvider.Draft.Items.Count != 0) + { + var lines = DraftStateProvider.Draft.Items.Select(item => new ActivityLineDto + { + Price = item.Price, + Discount = item.Discount, + LineAmount = item.LineTotal, + Qty = item.Quantity, + Sku = item.Item.Sku, + Text = item.Item.Name, + ShortName = item.Item.ShortName, + LineNumber = ++ln, + Sas = item.Sas + }) + .ToList(); + _draft.Lines = lines; + } if (_phone != _draft.Phone) { _company.Phone = _draft.Phone; await _companyRepo.UpdateCompany(_company.CompanyId, _company); _toast.ShowInfo("Kunde telefon nummer er opdateret."); } + // post to api var result = await _activityRepo.CreateActivity(_draft); + // show result message _toast.ShowSuccess($"{result.Message}."); await DraftStateProvider.DeleteDraftAsync(); _navigator.NavigateTo($"/companies"); @@ -271,8 +298,11 @@ public partial class ActivityNewVisitPage : IDisposable } private void ValidationChanged(object sender, ValidationStateChangedEventArgs e) { - if (string.IsNullOrEmpty(_draft.ActivityTypeEnum)) + if (string.IsNullOrEmpty(_draft.ActivityTypeEnum) && !_reportClosdd) + { _toast.ShowWarning("Aktivitet type kan ikke være tom"); + return; + } _poFormInvalid = false; diff --git a/Wonky.Client/Pages/CustomerViewPage.razor b/Wonky.Client/Pages/CustomerViewPage.razor index 032ef684..d51a55d5 100644 --- a/Wonky.Client/Pages/CustomerViewPage.razor +++ b/Wonky.Client/Pages/CustomerViewPage.razor @@ -182,13 +182,7 @@ - - Historik - - - - - + @@ -198,15 +192,12 @@ - - +
diff --git a/Wonky.Client/Pages/CustomerViewPage.razor.cs b/Wonky.Client/Pages/CustomerViewPage.razor.cs index d692540d..4ddecf47 100644 --- a/Wonky.Client/Pages/CustomerViewPage.razor.cs +++ b/Wonky.Client/Pages/CustomerViewPage.razor.cs @@ -69,18 +69,7 @@ public partial class CustomerViewPage : IDisposable { PropertyNameCaseInsensitive = true }; - - private async Task RefreshHistory() - { - _working = true; - _btnUpdateText = "vent venligst ..."; - _toast.ShowInfo("Vent mens data opdateres ..."); - _toast.ShowInfo("Der kan gå nogle minuutter inden data er klar ..."); - var ts = await _historyRepo.UpdateProductHistory(_company.CompanyId, $"{DateTime.Parse(_company.HistorySync):yyyy-MM-dd}");; - _company.HistorySync = ts.Replace("\"", ""); - _btnUpdateText = "Opdater"; - _working = false; - } + protected override async Task OnInitializedAsync() { var ux = await _storage.GetItemAsync("_xu"); diff --git a/Wonky.Client/Pages/ItemCatalogPage.razor b/Wonky.Client/Pages/ItemCatalogPage.razor index 0bd070d6..2487b1f9 100644 --- a/Wonky.Client/Pages/ItemCatalogPage.razor +++ b/Wonky.Client/Pages/ItemCatalogPage.razor @@ -31,7 +31,7 @@
- +
diff --git a/Wonky.Client/Pages/ItemCatalogPage.razor.cs b/Wonky.Client/Pages/ItemCatalogPage.razor.cs index a4bb0643..bf7c2547 100644 --- a/Wonky.Client/Pages/ItemCatalogPage.razor.cs +++ b/Wonky.Client/Pages/ItemCatalogPage.razor.cs @@ -38,6 +38,7 @@ public partial class ItemCatalogPage : IDisposable private MetaData? _metaData { get; set; } = new(); private CatalogPagingParams _paging = new(); private Preferences _preferences = new(); + private string _searchTerm { get; set; } = ""; protected override async Task OnInitializedAsync() { @@ -58,6 +59,15 @@ public partial class ItemCatalogPage : IDisposable _metaData = pagingResponse.MetaData; } + private async Task SetSearchPhrase(string searchTerm) + { + _searchTerm = searchTerm; + _items = new List(); + _paging.PageNumber = 1; + _paging.SearchTerm = searchTerm; + await GetSalesItems(); + } + private async Task SetPageSize(string pageSize) { _items = new List(); @@ -73,14 +83,7 @@ public partial class ItemCatalogPage : IDisposable _paging.SearchColumn = columnName; await GetSalesItems(); } - private async Task SetSearchPhrase(string searchTerm) - { - _items = new List(); - _paging.PageNumber = 1; - _paging.SearchTerm = searchTerm; - await GetSalesItems(); - } - + private async Task SetSortCol(string orderBy) { _items = new List(); diff --git a/Wonky.Client/Pages/ProductHistoryItemPage.razor b/Wonky.Client/Pages/ProductHistoryItemPage.razor index 46ed8626..233aee09 100644 --- a/Wonky.Client/Pages/ProductHistoryItemPage.razor +++ b/Wonky.Client/Pages/ProductHistoryItemPage.razor @@ -27,7 +27,7 @@

@_company.Name

diff --git a/Wonky.Client/Pages/ProductHistoryItemPage.razor.cs b/Wonky.Client/Pages/ProductHistoryItemPage.razor.cs index 03b41f41..58190ab2 100644 --- a/Wonky.Client/Pages/ProductHistoryItemPage.razor.cs +++ b/Wonky.Client/Pages/ProductHistoryItemPage.razor.cs @@ -37,6 +37,7 @@ public partial class ProductHistoryItemPage : IDisposable _interceptor.RegisterBeforeSendEvent(); _company = await _companyRepo.GetCompanyById(CompanyId); _lines = await _historyRepo.FetchHistory(CompanyId, Sku); + _lines = _lines.OrderByDescending(x => x.DeliveryDate).ToList(); } public void Dispose() diff --git a/Wonky.Client/Pages/ProductHistoryListPage.razor b/Wonky.Client/Pages/ProductHistoryListPage.razor index a0641387..03fdb74a 100644 --- a/Wonky.Client/Pages/ProductHistoryListPage.razor +++ b/Wonky.Client/Pages/ProductHistoryListPage.razor @@ -27,7 +27,7 @@

@_company.Name

- Tilbage + Kundekort
diff --git a/Wonky.Client/Pages/ProductInventoryPage.razor b/Wonky.Client/Pages/ProductInventoryPage.razor index faa56e6c..65a79c0c 100644 --- a/Wonky.Client/Pages/ProductInventoryPage.razor +++ b/Wonky.Client/Pages/ProductInventoryPage.razor @@ -23,11 +23,15 @@
-
+

@_company.Name

-
- Tilbage +
+ Kundekort +
+
+ +
diff --git a/Wonky.Client/Pages/ProductInventoryPage.razor.cs b/Wonky.Client/Pages/ProductInventoryPage.razor.cs index de99f19b..6df56174 100644 --- a/Wonky.Client/Pages/ProductInventoryPage.razor.cs +++ b/Wonky.Client/Pages/ProductInventoryPage.razor.cs @@ -14,6 +14,7 @@ // +using Blazored.Toast.Services; using Microsoft.AspNetCore.Components; using Wonky.Client.HttpInterceptors; using Wonky.Client.HttpRepository; @@ -29,9 +30,11 @@ public partial class ProductInventoryPage : IDisposable [Inject] private IHistoryHttpRepository _historyRepo { get; set; } [Inject] private ICompanyHttpRepository _companyRepo { get; set; } [Inject] private HttpInterceptorService _interceptor { get; set; } + [Inject] private IToastService _toast { get; set; } private CompanyDto _company { get; set; } = new(); private List _inventory { get; set; } = new(); - + private string _btnUpdateText { get; set; } = "check"; + private bool _working { get; set; } protected override async Task OnInitializedAsync() { @@ -40,8 +43,22 @@ public partial class ProductInventoryPage : IDisposable _interceptor.RegisterBeforeSendEvent(); _company = await _companyRepo.GetCompanyById(CompanyId); _inventory = await _historyRepo.FetchInventory(CompanyId); + _inventory = _inventory.OrderBy(x => x.Description).ToList(); } + private async Task RefreshHistory() + { + _working = true; + _btnUpdateText = "vent venligst ..."; + _toast.ShowInfo("Vent mens data checkes ..."); + var ts = await _historyRepo.UpdateProductHistory(_company.CompanyId, $"{DateTime.Parse(_company.HistorySync):yyyy-MM-dd}");; + _company.HistorySync = ts.Replace("\"", ""); + _btnUpdateText = "check"; + _inventory = await _historyRepo.FetchInventory(CompanyId); + _inventory = _inventory.OrderBy(x => x.Description).ToList(); + _working = false; + + } public void Dispose() { _interceptor.DisposeEvent(); diff --git a/Wonky.Client/Shared/DraftStateProvider.razor.cs b/Wonky.Client/Shared/DraftStateProvider.razor.cs index fd36fe57..bdb0e08e 100644 --- a/Wonky.Client/Shared/DraftStateProvider.razor.cs +++ b/Wonky.Client/Shared/DraftStateProvider.razor.cs @@ -22,16 +22,15 @@ namespace Wonky.Client.Shared; public partial class DraftStateProvider { [Parameter] public RenderFragment ChildContent { get; set; } - public Draft Draft { get; set; } [Parameter] public string Account { get; set; } = "MyCart"; [Inject] public ILocalStorageService LocalStorageService { get; set; } - + public Draft Draft { get; set; } = new(); + private bool _hasLoaded; protected override async Task OnParametersSetAsync() { - Draft = await LocalStorageService.GetItemAsync(Account) - ; + Draft = await LocalStorageService.GetItemAsync(Account); if (Draft == null || Draft.Items.Count == 0) { @@ -50,14 +49,12 @@ public partial class DraftStateProvider public async Task SaveChangesAsync() { - await LocalStorageService.SetItemAsync(Account, Draft) - ; + await LocalStorageService.SetItemAsync(Account, Draft); } public async Task DeleteDraftAsync() { Draft.Items.Clear(); - await LocalStorageService.SetItemAsync(Account, Draft) - ; + await LocalStorageService.SetItemAsync(Account, Draft); } } \ No newline at end of file diff --git a/Wonky.Client/Shared/NavMenu.razor b/Wonky.Client/Shared/NavMenu.razor index 066dcd6f..a5b16246 100644 --- a/Wonky.Client/Shared/NavMenu.razor +++ b/Wonky.Client/Shared/NavMenu.razor @@ -44,9 +44,9 @@
- + - +