using System.Reactive; using System.Reactive.Linq; using ReactiveUI; using TrashLib.Radarr.CustomFormat.Models; using TrashLib.Radarr.CustomFormat.Processors; namespace Recyclarr.Gui.ViewModels; public class CustomFormatGroupViewModel : ReactiveObject { public string GroupName { get; } public ICollection CustomFormats { get; } public CustomFormatGroupViewModel(string groupName, ICollection customFormats) { GroupName = groupName; CustomFormats = customFormats; } } public class CustomFormatViewModel : ReactiveObject { private readonly ICustomFormatLookup _cfLookup; private readonly List _groups = new(); public List Groups => _groups; public ReactiveCommand OnInit; public CustomFormatViewModel(ICustomFormatLookup cfLookup) { _cfLookup = cfLookup; OnInit = ReactiveCommand.Create(() => { foreach (var (groupName, cfs) in _cfLookup.MapAllCustomFormats()) { } }); } }