using System; using System.Collections.Generic; using CRD.Views; using Newtonsoft.Json; namespace CRD.Utils.Structs; public struct AuthData{ public string Username{ get; set; } public string Password{ get; set; } } public class DrmAuthData{ [JsonProperty("custom_data")] public string? CustomData{ get; set; } public string? Token{ get; set; } } public struct Meta{ [JsonProperty("versions_considered")] public bool? VersionsConsidered{ get; set; } } public struct LanguageItem{ [JsonProperty("cr_locale")] public string CrLocale{ get; set; } public string Locale{ get; set; } public string Code{ get; set; } public string Name{ get; set; } public string Language{ get; set; } } public struct EpisodeAndLanguage{ public List Items{ get; set; } public List Langs{ get; set; } } public struct CrunchyMultiDownload(List dubLang, bool? all = null, bool? but = null, List? e = null, string? s = null){ public List DubLang{ get; set; } = dubLang; //lang code public bool? AllEpisodes{ get; set; } = all; // download all episodes public bool? But{ get; set; } = but; //download all except selected episodes public List? E{ get; set; } = e; //episode numbers public string? S{ get; set; } = s; //season id } public struct CrunchySeriesList{ public List List{ get; set; } public Dictionary Data{ get; set; } } public struct Episode{ public string E{ get; set; } public List Lang{ get; set; } public string Name{ get; set; } public string Season{ get; set; } public string SeasonTitle{ get; set; } public string SeriesTitle{ get; set; } public string EpisodeNum{ get; set; } public string Id{ get; set; } public string Img{ get; set; } public string Description{ get; set; } public string Time{ get; set; } } public struct DownloadResponse{ public List Data{ get; set; } public string? FileName{ get; set; } public string? FolderPath{ get; set; } public string? TempFolderPath{ get; set; } public string VideoTitle{ get; set; } public bool Error{ get; set; } public string ErrorText{ get; set; } } public class DownloadedMedia : SxItem{ public DownloadMediaType Type{ get; set; } public LanguageItem Lang{ get; set; } public bool IsPrimary{ get; set; } public bool? Cc{ get; set; } public bool? Signs{ get; set; } public DownloadedMedia? RelatedVideoDownloadMedia; } public class SxItem{ public LanguageItem Language{ get; set; } public string? Path{ get; set; } public string? File{ get; set; } public string? Title{ get; set; } public Dictionary>? Fonts{ get; set; } } public class FrameData{ public string FilePath{ get; set; } public double Time{ get; set; } } public class StringItem{ public string stringValue{ get; set; } } public class WindowSettings { public double Width { get; set; } public double Height { get; set; } public int ScreenIndex { get; set; } public int PosX { get; set; } public int PosY { get; set; } public bool IsMaximized { get; set; } } public class ToastMessage(string message, ToastType type, int i){ public string? Message{ get; set; } = message; public int Seconds{ get; set; } = i; public ToastType Type{ get; set; } = type; } public class NavigationMessage{ public Type? ViewModelType{ get; } public bool Back{ get; } public bool Refresh{ get; } public NavigationMessage(Type? viewModelType, bool back, bool refresh){ ViewModelType = viewModelType; Back = back; Refresh = refresh; } }