|
3 | 3 | @inject IUserSearchService UserSearchService
|
4 | 4 | @inject NavigationManager Navigation
|
5 | 5 | @inject UserSearchResultCache Cache
|
| 6 | +@inject IJSRuntime JsRuntime |
| 7 | +@inject ISnackbar Snackbar |
6 | 8 |
|
7 | 9 | <MetadataComponent Title="Søg efter brugere"
|
8 | 10 | Description="Søg efter brugere" />
|
|
72 | 74 |
|
73 | 75 | _searchResult = await UserSearchService.GetUsersAsync(_filter);
|
74 | 76 |
|
75 |
| - UpdateQueryString(); |
| 77 | + Snackbar.Add(message: $"{_searchResult.TotalCount} brugere matchede søgningen.", |
| 78 | + severity: _searchResult.TotalCount is 0 ? Severity.Info : Severity.Success, |
| 79 | + options => options.VisibleStateDuration = 3500); |
| 80 | + |
| 81 | + await UpdateQueryString(); |
76 | 82 |
|
77 | 83 | _hasSearched = true;
|
78 | 84 |
|
|
83 | 89 | }
|
84 | 90 |
|
85 | 91 | private static readonly Dictionary<string, object?> _queryStrings = [];
|
86 |
| - private void UpdateQueryString() |
| 92 | + private async Task UpdateQueryString() |
87 | 93 | {
|
88 | 94 | _queryStrings[nameof(_filter.Name).ToLower()] = _filter.Name;
|
89 | 95 | _queryStrings[nameof(_filter.Categories).ToLower()] = _filter.Categories;
|
|
96 | 102 | _queryStrings[nameof(_filter.PageNumber).ToLower()] = _filter.PageNumber;
|
97 | 103 |
|
98 | 104 | var newUrl = Navigation.GetUriWithQueryParameters(_queryStrings);
|
99 |
| - if (Navigation.Uri != newUrl) |
100 |
| - { |
101 |
| - Navigation.NavigateTo(newUrl); |
102 |
| - } |
| 105 | + |
| 106 | + await JsRuntime.NavigateTo(newUrl); |
103 | 107 | }
|
104 | 108 |
|
105 | 109 | private async ValueTask LoadFromQueryString()
|
106 | 110 | {
|
107 |
| - var queryStrings = new Uri(Navigation.Uri).Query; |
| 111 | + var queryStrings = new Uri(Navigation.Uri).Query; |
108 | 112 | if (string.IsNullOrEmpty(queryStrings))
|
109 | 113 | {
|
110 | 114 | return;
|
|
143 | 147 |
|
144 | 148 | _filter = filter;
|
145 | 149 |
|
146 |
| - if (_filter.Equals(Cache.SearchFilter) && |
147 |
| - Cache.SearchResult is not null) |
| 150 | + if (_filter.Equals(Cache.SearchFilter) && Cache.SearchResult is not null) |
148 | 151 | {
|
149 |
| - _searchResult = Cache.SearchResult; |
| 152 | + _searchResult = Cache.SearchResult; |
150 | 153 |
|
151 |
| - _hasSearched = true; |
152 |
| - _isSearching = false; |
| 154 | + _hasSearched = true; |
| 155 | + _isSearching = false; |
153 | 156 |
|
154 |
| - return; |
| 157 | + return; |
155 | 158 | }
|
156 | 159 |
|
157 | 160 | await Search();
|
|
0 commit comments