diff --git a/StabilityMatrix.Avalonia/ViewModels/Inference/SeedCardViewModel.cs b/StabilityMatrix.Avalonia/ViewModels/Inference/SeedCardViewModel.cs new file mode 100644 index 00000000..1f0d6d69 --- /dev/null +++ b/StabilityMatrix.Avalonia/ViewModels/Inference/SeedCardViewModel.cs @@ -0,0 +1,27 @@ +using System; +using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; +using StabilityMatrix.Avalonia.Controls; +using StabilityMatrix.Core.Attributes; + +namespace StabilityMatrix.Avalonia.ViewModels.Inference; + +[View(typeof(SeedCard))] +public partial class SeedCardViewModel : ViewModelBase +{ + [ObservableProperty, NotifyPropertyChangedFor(nameof(RandomizeButtonToolTip))] + private bool isRandomizeEnabled; + + [ObservableProperty] + private long seed; + + public string RandomizeButtonToolTip => IsRandomizeEnabled + ? "Seed is locked" + : "Randomizing Seed on each run"; + + [RelayCommand] + public void GenerateNewSeed() + { + Seed = Random.Shared.NextInt64(); + } +}