public async Task <IActionResult> OnGetDownloadsAsync()
        {
            var downloadStatesTask = _jDownloader.QueryDownloadStatesAsync();
            var sb        = new StringBuilder();
            var downloads = _fileMover.GetDownloadEntries().OrderBy(f => f);

            if (downloads.Any())
            {
                foreach (var f in downloads)
                {
                    var name = Path.GetFileName(f);

                    var    stateData = (await downloadStatesTask).FirstOrDefault(p => Path.GetFileName(p.SaveTo) == name);
                    string state;
                    string bgprogress;
                    if (stateData == null)
                    {
                        state      = "Unknown";
                        bgprogress = "bg-danger";
                    }
                    else
                    {
                        state = stateData.PackageState switch
                        {
                            JD_PackageState.Decrypt => "Decrypting...",
                            JD_PackageState.Download => $"Downloading... {stateData.DownloadPercentage:0}%",
                            JD_PackageState.Extract => stateData.Status, // "Extracting...",
                            JD_PackageState.Wait => "Waiting to start...",
                            _ => stateData.PackageState.ToString(),
                        };
                        bgprogress = stateData.PackageState switch
                        {
                            JD_PackageState.Download => "bg-info",
                            JD_PackageState.Decrypt => "bg-warning",
                            JD_PackageState.Extract => "bg-warning",
                            JD_PackageState.Finished => "bg-success",
                            _ => "bg-danger",
                        };
                    }

                    sb.AppendLine(string.Format(_cardTemplateDownloads, name, state, stateData?.DownloadPercentage ?? 0, bgprogress));
                }
            }
            else
            {
                sb.AppendLine("<i>No Downloads...");
            }
            return(new JsonResult(JsonSerializer.Serialize(sb.ToString())));
        }