diff --git a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor
index fe0612b..49c858c 100644
--- a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor
+++ b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor
@@ -1,4 +1,5 @@
@using Blazored.FluentValidation
+@using GameIdeas.BlazorApp.Shared.Components.CircleLoader
@using GameIdeas.BlazorApp.Shared.Components.SelectSearch
@using GameIdeas.BlazorApp.Shared.Components.Slider
@using GameIdeas.Shared.Dto
@@ -22,14 +23,14 @@
@@ -42,21 +43,21 @@
@foreach (var platform in GameDto.Platforms ?? [])
@@ -75,13 +76,18 @@
-
\ No newline at end of file
+
+
+@if (IsLoading)
+{
+
+}
\ No newline at end of file
diff --git a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.cs b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.cs
index d9384cb..9911a85 100644
--- a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.cs
+++ b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.cs
@@ -20,22 +20,18 @@ public partial class GameCreationForm
private EditContext? EditContext;
private readonly SelectTheme Theme = SelectTheme.Creation;
private readonly SliderParams SliderParams = new() { Gap = 1, Min = 1, Max = 5 };
+ private bool IsLoading = true;
protected override async Task OnInitializedAsync()
{
EditContext = new(GameDto);
-
- if (Popup != null)
- {
- Popup.StateChanged += async (_, isOpen) => await HandlePopupStateChanged();
- }
-
await base.OnInitializedAsync();
}
- private async Task HandlePopupStateChanged()
+ protected override async Task OnAfterRenderAsync(bool firstRender)
{
await Js.InvokeVoidAsync("resizeGameForm");
+
}
private void HandleOnCancel()
@@ -50,6 +46,10 @@ public partial class GameCreationForm
return;
}
+ IsLoading = true;
+
await GameGateway.CreateGame(GameDto);
+
+ IsLoading = false;
}
}
\ No newline at end of file
diff --git a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.css b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.css
index cb261c1..f1fb03f 100644
--- a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.css
+++ b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/Components/GameCreationForm.razor.css
@@ -78,7 +78,6 @@
height: 28px;
display: flex;
flex-direction: row;
- justify-content: space-between;
align-items: center;
}
@@ -98,6 +97,7 @@
}
.buttons {
+ margin-left: auto;
height: 100%;
display: flex;
flex-direction: row;
@@ -112,4 +112,9 @@
color: var(--white);
font-weight: bold;
padding: 0 10px;
+ cursor: pointer;
+}
+
+.buttons button:hover {
+ background: var(--violet-selected);
}
diff --git a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/GameBase.razor b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/GameBase.razor
index e32a814..404ea88 100644
--- a/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/GameBase.razor
+++ b/src/GameIdeas/Client/GameIdeas.BlazorApp/Pages/Games/GameBase.razor
@@ -24,6 +24,6 @@
-