Files
IPTVplayer/TV Player WPF/ViewModels/ProgramsListViewModel.cs
T
Vova 9b8e8a835a add settings screen
get playlist from settings, in first run - open Settings
2024-01-30 16:31:11 +02:00

43 lines
1.3 KiB
C#

using CommunityToolkit.Mvvm.Input;
using System.Windows.Input;
using TV_Player.ViewModels;
namespace TV_Player
{
public class ProgramsListViewModel : ObservableViewModelBase, IDisposable
{
private List<M3UInfo> _programs;
public List<M3UInfo> Programs
{
get => _programs;
set => SetProperty(ref _programs, value);
}
public M3UInfo SelectedItem { get; set; }
public ICommand ItemSelectedCommand { get; }
private IDisposable _programSubscriber;
public ProgramsListViewModel(GroupInfo groupInfo)
{
TVPlayerViewModel.Instance.TopPanelVisible(true, groupInfo.Name);
ItemSelectedCommand = new RelayCommand(OnItemSelected);
_programSubscriber = TVPlayerViewModel.Instance.PlaylistData.AllPrograms.Subscribe(x => Programs = x.Where(p => p.GroupTitle == groupInfo.Name).ToList());
TVPlayerViewModel.Instance.SetBackButtonAction(new Action(() =>
{
TVPlayerViewModel.Instance.ShowProgramsGroupScreen();
}));
}
private void OnItemSelected()
{
TVPlayerViewModel.Instance.ShowPlayerScreen(SelectedItem);
}
public void Dispose()
{
_programSubscriber.Dispose();
}
}
}