diff --git a/AccessQueuePlayground/Components/Pages/Config.razor b/AccessQueuePlayground/Components/Pages/Config.razor
index 19bd521..05288e2 100644
--- a/AccessQueuePlayground/Components/Pages/Config.razor
+++ b/AccessQueuePlayground/Components/Pages/Config.razor
@@ -5,100 +5,92 @@
-
-
-
-
-
- @if (!isCapacityLimitValid)
- {
-
Please enter a positive integer.
- }
-
-
-
-
- @if (!isActivitySecondsValid)
- {
-
Please enter a positive integer.
- }
-
-
-
-
- @if (!isExpirationSecondsValid)
- {
-
Please enter a positive integer.
- }
-
-
-
-
-
- @if (successMessage != null)
- {
- @successMessage
- }
+
+
+
+
+
+ @if (!isCapacityLimitValid)
+ {
+
Please enter a positive integer.
+ }
+
+
+
+
+ @if (!isActivitySecondsValid)
+ {
+
Please enter a positive integer.
+ }
+
+
+
+
+ @if (!isExpirationSecondsValid)
+ {
+
Please enter a positive integer.
+ }
+
+
+
+
+
+ @if (successMessage != null)
+ {
+ @successMessage
+ }
@code {
- private AccessQueueService.Models.AccessQueueConfig config = new();
- private string? capacityLimitInput;
- private string? activitySecondsInput;
- private string? expirationSecondsInput;
- private bool rollingExpirationSwitch;
- private bool isCapacityLimitValid = true;
- private bool isActivitySecondsValid = true;
- private bool isExpirationSecondsValid = true;
- private string? successMessage;
+ private ConfigModel config = new();
+ private bool isCapacityLimitValid = true;
+ private bool isActivitySecondsValid = true;
+ private bool isExpirationSecondsValid = true;
+ private string? successMessage;
- protected override void OnInitialized()
- {
- var current = QueueManager.GetConfig();
- config = current.Clone();
- capacityLimitInput = config.CapacityLimit?.ToString();
- activitySecondsInput = config.ActivitySeconds?.ToString();
- expirationSecondsInput = config.ExpirationSeconds?.ToString();
- rollingExpirationSwitch = config.RollingExpiration ?? true;
- ValidateInputs();
- }
+ protected override void OnInitialized()
+ {
+ var current = QueueManager.GetConfig();
+ config = new ConfigModel
+ {
+ ActivitySeconds = (current.ActivitySeconds ?? 0).ToString(),
+ CapacityLimit = (current.CapacityLimit ?? 0).ToString(),
+ ExpirationSeconds = (current.ExpirationSeconds ?? 0).ToString(),
+ RollingExpiration = current.RollingExpiration ?? false
+ };
+ ValidateInputs();
+ }
- private bool IsFormValid => isCapacityLimitValid && isActivitySecondsValid && isExpirationSecondsValid;
+ private bool IsFormValid => isCapacityLimitValid && isActivitySecondsValid && isExpirationSecondsValid;
- private void ValidateInputs()
- {
- isCapacityLimitValid = int.TryParse(capacityLimitInput, out var cap) && cap > 0;
- isActivitySecondsValid = int.TryParse(activitySecondsInput, out var act) && act > 0;
- isExpirationSecondsValid = int.TryParse(expirationSecondsInput, out var exp) && exp > 0;
- }
+ private void ValidateInputs()
+ {
+ isCapacityLimitValid = int.TryParse(config.CapacityLimit, out var cap) && cap > 0;
+ isActivitySecondsValid = int.TryParse(config.ActivitySeconds, out var act) && act > 0;
+ isExpirationSecondsValid = int.TryParse(config.ExpirationSeconds, out var exp) && exp > 0;
+ }
- private async Task HandleValidSubmit()
- {
- ValidateInputs();
- if (!IsFormValid)
- return;
- config.CapacityLimit = int.Parse(capacityLimitInput!);
- config.ActivitySeconds = int.Parse(activitySecondsInput!);
- config.ExpirationSeconds = int.Parse(expirationSecondsInput!);
- config.RollingExpiration = rollingExpirationSwitch;
- await Task.Run(() => QueueManager.UpdateConfig(config));
- successMessage = "Configuration updated successfully.";
- }
+ private async Task HandleValidSubmit()
+ {
+ successMessage = null;
+ ValidateInputs();
+ if (!IsFormValid)
+ return;
+ await Task.Run(() => QueueManager.UpdateConfig(new ()
+ {
+ ActivitySeconds = int.Parse(config.ActivitySeconds),
+ CapacityLimit = int.Parse(config.CapacityLimit),
+ ExpirationSeconds = int.Parse(config.ExpirationSeconds),
+ RollingExpiration = config.RollingExpiration
+ }));
+ successMessage = "Configuration updated successfully.";
+ }
- private void OnInputChanged(ChangeEventArgs e, string field)
- {
- switch (field)
- {
- case nameof(config.CapacityLimit):
- capacityLimitInput = e.Value?.ToString();
- break;
- case nameof(config.ActivitySeconds):
- activitySecondsInput = e.Value?.ToString();
- break;
- case nameof(config.ExpirationSeconds):
- expirationSecondsInput = e.Value?.ToString();
- break;
- }
- ValidateInputs();
- }
+ public class ConfigModel
+ {
+ public string CapacityLimit { get; set; } = "";
+ public string ActivitySeconds { get; set; } = "";
+ public string ExpirationSeconds { get; set; } = "";
+ public bool RollingExpiration { get; set; }
+ }
}