@using Butter.Dtos.Settings @using MilkStream.Services @inherits SettingBox @inject SettingsService SettingsService
@(Setting?.Name ?? "NO NAME")

@(Setting?.Description ?? "No description provided")

@(IsPowerOfTwo ? Math.Pow(2, currentValue) : currentValue)
@code { [Parameter] public int MinValue {get; set;} [Parameter] public int MaxValue {get; set;} = 100; [Parameter] public bool IsPowerOfTwo {get; set;} [Parameter] public int Step {get; set;} = 1; private int currentValue; protected override void OnInitialized() { SettingsService.BeginSave += (_, _) => SettingsService.UpdateSetting(GetSetting()); currentValue = int.TryParse(Setting?.Value, out int value) ? value : 0; // Default value if parsing fails } protected override SettingDto? GetSetting() { if (Setting == null) return null; Setting.Value = IsPowerOfTwo ? ((int)Math.Pow(2, currentValue)).ToString() : currentValue.ToString(); return Setting; } }