diff --git a/NftFaucetRadzen/Models/NewFileModel.cs b/NftFaucetRadzen/Models/NewFileModel.cs
new file mode 100644
index 0000000..5167c8a
--- /dev/null
+++ b/NftFaucetRadzen/Models/NewFileModel.cs
@@ -0,0 +1,10 @@
+namespace NftFaucetRadzen.Models;
+
+public class NewFileModel
+{
+ public string Name { get; set; }
+ public string Description { get; set; }
+ public string FileData { get; set; }
+ public string FileName { get; set; }
+ public long? FileSize { get; set; }
+}
diff --git a/NftFaucetRadzen/Pages/CreateTokenPage.razor b/NftFaucetRadzen/Pages/CreateTokenPage.razor
index c43f3c3..9bc5289 100644
--- a/NftFaucetRadzen/Pages/CreateTokenPage.razor
+++ b/NftFaucetRadzen/Pages/CreateTokenPage.razor
@@ -2,5 +2,16 @@
Create token
-
+ Image
+
+ Name
+
+ Description
+
+
diff --git a/NftFaucetRadzen/Pages/CreateTokenPage.razor.cs b/NftFaucetRadzen/Pages/CreateTokenPage.razor.cs
index 41b02c1..30bbbe4 100644
--- a/NftFaucetRadzen/Pages/CreateTokenPage.razor.cs
+++ b/NftFaucetRadzen/Pages/CreateTokenPage.razor.cs
@@ -1,5 +1,6 @@
using Microsoft.JSInterop;
using Microsoft.AspNetCore.Components;
+using NftFaucetRadzen.Models;
using Radzen;
namespace NftFaucetRadzen.Pages;
@@ -23,4 +24,35 @@ public partial class CreateTokenPage
[Inject]
protected NotificationService NotificationService { get; set; }
+
+ private NewFileModel Model { get; set; } = new NewFileModel();
+ private bool ModelIsValid => IsValid();
+
+ private void OnSavePressed()
+ {
+ if (!IsValid())
+ return;
+
+ DialogService.Close(Model);
+ }
+
+ private bool IsValid()
+ {
+ if (string.IsNullOrWhiteSpace(Model.Name))
+ return false;
+
+ if (string.IsNullOrWhiteSpace(Model.Description))
+ return false;
+
+ if (string.IsNullOrEmpty(Model.FileData))
+ return false;
+
+ if (string.IsNullOrEmpty(Model.FileName))
+ return false;
+
+ if (Model.FileSize is null or 0)
+ return false;
+
+ return true;
+ }
}
diff --git a/NftFaucetRadzen/Pages/TokensPage.razor b/NftFaucetRadzen/Pages/TokensPage.razor
index cae5892..e8b7662 100644
--- a/NftFaucetRadzen/Pages/TokensPage.razor
+++ b/NftFaucetRadzen/Pages/TokensPage.razor
@@ -6,7 +6,7 @@
+ Click="@OpenCreateTokenDialog" />
diff --git a/NftFaucetRadzen/Pages/TokensPage.razor.cs b/NftFaucetRadzen/Pages/TokensPage.razor.cs
index 32d6527..49e4b43 100644
--- a/NftFaucetRadzen/Pages/TokensPage.razor.cs
+++ b/NftFaucetRadzen/Pages/TokensPage.razor.cs
@@ -68,4 +68,11 @@ public partial class TokensPage : BasicComponent
},
},
};
+
+ private async Task OpenCreateTokenDialog()
+ {
+ await DialogService.OpenAsync("Create new token",
+ new Dictionary(),
+ new DialogOptions() { Width = "700px", Height = "570px", Resizable = true, Draggable = true });
+ }
}