diff --git a/src/GmRelay.Web/Components/Pages/Showcase.razor b/src/GmRelay.Web/Components/Pages/Showcase.razor
index 7acdddc..c33b485 100644
--- a/src/GmRelay.Web/Components/Pages/Showcase.razor
+++ b/src/GmRelay.Web/Components/Pages/Showcase.razor
@@ -36,8 +36,8 @@
-
Система
-
@@ -318,22 +318,37 @@ else
private async Task LoadAsync()
{
loading = true;
- page = 1;
- sessions.Clear();
- var results = await SessionStore.GetShowcaseSessionsAsync(filter, page, PageSize);
- sessions.AddRange(results);
- hasMore = results.Count == PageSize;
- loading = false;
+ try
+ {
+ page = 1;
+ sessions.Clear();
+ var results = await SessionStore.GetShowcaseSessionsAsync(filter, page, PageSize);
+ sessions.AddRange(results);
+ hasMore = results.Count == PageSize;
+ }
+ finally
+ {
+ loading = false;
+ }
}
private async Task LoadMoreAsync()
{
+ if (loading)
+ return;
+
loading = true;
- page++;
- var results = await SessionStore.GetShowcaseSessionsAsync(filter, page, PageSize);
- sessions.AddRange(results);
- hasMore = results.Count == PageSize;
- loading = false;
+ try
+ {
+ page++;
+ var results = await SessionStore.GetShowcaseSessionsAsync(filter, page, PageSize);
+ sessions.AddRange(results);
+ hasMore = results.Count == PageSize;
+ }
+ finally
+ {
+ loading = false;
+ }
}
private async Task OnFilterChanged()