diff --git a/ServerManagement/Components/Pages/Servers.razor b/ServerManagement/Components/Pages/Servers.razor
index 81ff659..af9df5f 100644
--- a/ServerManagement/Components/Pages/Servers.razor
+++ b/ServerManagement/Components/Pages/Servers.razor
@@ -19,6 +19,8 @@
Add Server
+
+Wizard
diff --git a/ServerManagement/Components/Pages/Wizards/SetCityName.razor b/ServerManagement/Components/Pages/Wizards/SetCityName.razor
new file mode 100644
index 0000000..6e88347
--- /dev/null
+++ b/ServerManagement/Components/Pages/Wizards/SetCityName.razor
@@ -0,0 +1,62 @@
+@page "/cityname"
+
+@inject NavigationManager NavigationManager
+
+City Name
+
+
+@if (!string.IsNullOrWhiteSpace(errorMessage))
+{
+
+ @errorMessage
+
+}
+
+
+
+
+
+
+
+
+
+@code {
+ private string? errorMessage;
+ private string? cityName;
+
+ [SupplyParameterFromQuery]
+ private string? ServerName { get; set; }
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ }
+
+ protected override void OnAfterRender(bool firstRender)
+ {
+ if (firstRender)
+ {
+ if (string.IsNullOrWhiteSpace(ServerName))
+ {
+ this.errorMessage = "Server name was not provided.";
+ StateHasChanged();
+ }
+ }
+ }
+
+ private void GoNext()
+ {
+ if (string.IsNullOrWhiteSpace(ServerName))
+ {
+ this.errorMessage = "Server name is required.";
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(cityName))
+ {
+ this.errorMessage = "City name is required.";
+ return;
+ }
+
+ NavigationManager.NavigateTo($"/serverstatus?servername={ServerName}&cityname={cityName}");
+ }
+}
\ No newline at end of file
diff --git a/ServerManagement/Components/Pages/Wizards/SetServerName.razor b/ServerManagement/Components/Pages/Wizards/SetServerName.razor
new file mode 100644
index 0000000..872243e
--- /dev/null
+++ b/ServerManagement/Components/Pages/Wizards/SetServerName.razor
@@ -0,0 +1,42 @@
+@page "/servername"
+
+@inject NavigationManager NavigationManager
+
+Server Name
+
+
+@if (!string.IsNullOrWhiteSpace(errorMessage))
+{
+
+ @errorMessage
+
+}
+
+
+
+
+
+
+
+
+
+@code {
+ private string? errorMessage;
+ private string? serverName;
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ }
+
+ private void GoNext()
+ {
+ if (string.IsNullOrWhiteSpace(serverName))
+ {
+ this.errorMessage = "Server name is required.";
+ return;
+ }
+
+ NavigationManager.NavigateTo($"/cityname?servername={serverName}");
+ }
+}
\ No newline at end of file
diff --git a/ServerManagement/Components/Pages/Wizards/SetStatus.razor b/ServerManagement/Components/Pages/Wizards/SetStatus.razor
new file mode 100644
index 0000000..3c4ebd2
--- /dev/null
+++ b/ServerManagement/Components/Pages/Wizards/SetStatus.razor
@@ -0,0 +1,76 @@
+@page "/serverstatus"
+
+@inject NavigationManager NavigationManager
+
+Server Status
+
+
+@if (!string.IsNullOrWhiteSpace(errorMessage))
+{
+
+ @errorMessage
+
+}
+
+
+
+
+
+
+
+
+
+@code {
+ private string? errorMessage;
+ private bool isOnline;
+ [SupplyParameterFromQuery]
+ private string? CityName { get; set; }
+
+ [SupplyParameterFromQuery]
+ private string? ServerName { get; set; }
+
+ protected override void OnInitialized()
+ {
+ base.OnInitialized();
+ }
+
+ protected override void OnAfterRender(bool firstRender)
+ {
+ if (firstRender)
+ {
+ if (string.IsNullOrWhiteSpace(ServerName))
+ {
+ this.errorMessage = "Server name was not provided.";
+ StateHasChanged();
+ }
+ else if (string.IsNullOrWhiteSpace(CityName))
+ {
+ this.errorMessage = "City name was not provided.";
+ StateHasChanged();
+ }
+ }
+ }
+
+ private void Save()
+ {
+ if (string.IsNullOrWhiteSpace(ServerName))
+ {
+ this.errorMessage = "Server name is required.";
+ return;
+ }
+ if (string.IsNullOrWhiteSpace(CityName))
+ {
+ this.errorMessage = "City name is required.";
+ return;
+ }
+
+ var server = new Server
+ {
+ Name = this.ServerName,
+ City = this.CityName,
+ IsOnline = this.isOnline
+ };
+ ServersRepository.AddServer(server);
+ NavigationManager.NavigateTo($"/servers/back_from/{CityName}");
+ }
+}
\ No newline at end of file