Rename changes and report
This commit is contained in:
161
Aberwyn/Views/Rss/Index.cshtml
Normal file
161
Aberwyn/Views/Rss/Index.cshtml
Normal file
@@ -0,0 +1,161 @@
|
||||
@model TorrentListViewModel
|
||||
<link rel="stylesheet" href="~/css/torrent.css" />
|
||||
|
||||
<!-- Periodval -->
|
||||
<div class="torrent-period">
|
||||
<button class="@(Model.CurrentRange == "day" ? "active" : "")" onclick="location.href='?range=day'">Dag</button>
|
||||
<button class="@(Model.CurrentRange == "week" ? "active" : "")" onclick="location.href='?range=week'">Vecka</button>
|
||||
<button class="@(Model.CurrentRange == "month" ? "active" : "")" onclick="location.href='?range=month'">Månad</button>
|
||||
<button class="@(Model.CurrentRange == "all" ? "active" : "")" onclick="location.href='?range=all'">All time</button>
|
||||
</div>
|
||||
|
||||
<!-- Torrentlista -->
|
||||
<div class="torrent-list">
|
||||
<div class="torrent-header">
|
||||
<div onclick="sortBy('title')" class="@(Model.CurrentSort == "title" ? "active" : "")">Titel</div>
|
||||
<div onclick="sortBy('date')" class="@(Model.CurrentSort == "date" ? "active" : "")">Tid / Datum</div>
|
||||
<div onclick="sortBy('seeders')" class="@(Model.CurrentSort == "seeders" ? "active" : "")">Seeders</div>
|
||||
<div onclick="sortBy('leechers')" class="@(Model.CurrentSort == "leechers" ? "active" : "")">Leechers</div>
|
||||
<div>Åtgärd</div>
|
||||
</div>
|
||||
|
||||
@foreach (var group in Model.Items
|
||||
.GroupBy(t => new { t.MovieName, t.Metadata?.Year })
|
||||
.Select(g => new
|
||||
{
|
||||
MovieName = g.Key.MovieName,
|
||||
Year = g.Key.Year,
|
||||
Versions = g.OrderByDescending(t => t.Title.Contains("Fix") || t.Title.Contains("Repack"))
|
||||
.ThenByDescending(t => t.Seeders)
|
||||
.ToList()
|
||||
}))
|
||||
{
|
||||
var main = group.Versions.First();
|
||||
var lastVersion = group.Versions.Last();
|
||||
|
||||
<!-- Huvudrad -->
|
||||
<div class="torrent-row torrent-group-title @(group.Versions.Count == 1 ? "last-row" : "")">
|
||||
<div class="col-title">
|
||||
@if (!string.IsNullOrEmpty(main.Metadata?.Poster) && main.Metadata.Poster != "N/A")
|
||||
{
|
||||
<a href="@main.Metadata.Poster" class="glightbox">
|
||||
<img src="@main.Metadata.Poster"
|
||||
alt="@main.MovieName"
|
||||
class="poster"
|
||||
onerror="this.onerror=null; this.src='/images/fallback.jpg';" />
|
||||
</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<img src="/images/fallback.jpg" alt="@main.MovieName" class="poster placeholder" />
|
||||
}
|
||||
|
||||
<div class="title-info">
|
||||
|
||||
@if (!string.IsNullOrEmpty(main.Metadata?.Title))
|
||||
{
|
||||
<strong>@group.MovieName (@group.Year) </strong>
|
||||
} else
|
||||
{
|
||||
<strong>@main.Title </strong>
|
||||
}
|
||||
|
||||
@if (main.IsNew)
|
||||
{
|
||||
<img src="/images/new.png" alt="New" class="badge" />
|
||||
}
|
||||
<div class="meta">
|
||||
@if (!string.IsNullOrEmpty(main.Metadata?.Genre))
|
||||
{
|
||||
<span class="genre">@main.Metadata.Genre</span>
|
||||
}
|
||||
@if (!string.IsNullOrEmpty(main.Metadata?.ImdbID))
|
||||
{
|
||||
<a class="imdb" href="https://www.imdb.com/title/@main.Metadata.ImdbID" target="_blank">
|
||||
⭐ @main.Metadata.ImdbRating
|
||||
</a>
|
||||
}
|
||||
@if (main.AvailableOn?.Any() == true)
|
||||
{
|
||||
<span class="available-on">
|
||||
Tillgänglig på: @string.Join(", ", main.AvailableOn)
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-date">
|
||||
<div class="time">@main.PublishDate.ToString("HH:mm")</div>
|
||||
<div class="date">@main.PublishDate.ToString("yyyy-MM-dd")</div>
|
||||
</div>
|
||||
<div class="col-center @(main.Seeders > 40 ? "highlight-green" : "")">@main.Seeders</div>
|
||||
<div class="col-center highlight-red">@main.Leechers</div>
|
||||
<div class="col-action">
|
||||
<form asp-controller="Torrent" asp-action="Add" method="post" onsubmit="return confirmDownload('@main.Title')">
|
||||
<input type="hidden" name="torrentUrl" value="@main.TorrentUrl" />
|
||||
<button type="submit" class="btn-add btn-small">➕ Ladda ner</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Versioner -->
|
||||
@if (group.Versions.Count > 1)
|
||||
{
|
||||
foreach (var version in group.Versions.Skip(1))
|
||||
{
|
||||
var isLast = version == lastVersion;
|
||||
<div class="torrent-row torrent-version @(isLast ? "last-version" : "")" title="@version.Title">
|
||||
<div class="col-title">
|
||||
<strong>
|
||||
@version.Title
|
||||
@if (version.IsNew)
|
||||
{
|
||||
<img src="/images/new.png" alt="New" class="badge" />
|
||||
}
|
||||
</strong>
|
||||
</div>
|
||||
<div>@version.PublishDate.ToString("HH:mm yyyy-MM-dd")</div>
|
||||
<div class="@(version.Seeders > 40 ? "highlight-green" : "")">@version.Seeders</div>
|
||||
<div class="highlight-red">@version.Leechers</div>
|
||||
<div class="col-action">
|
||||
<form asp-controller="Torrent" asp-action="Add" method="post" onsubmit="return confirmDownload('@version.Title')">
|
||||
<input type="hidden" name="torrentUrl" value="@version.TorrentUrl" />
|
||||
<button type="submit" class="btn-add btn-small">➕</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
<div class="pagination">
|
||||
@for (int i = 1; i <= Model.TotalPages; i++)
|
||||
{
|
||||
if (i == Model.CurrentPage)
|
||||
{
|
||||
<span class="current">@i</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a asp-route-page="@i" asp-route-sort="@Model.CurrentSort" asp-route-range="@Model.CurrentRange">@i</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/glightbox/dist/css/glightbox.min.css" />
|
||||
<script src="https://cdn.jsdelivr.net/npm/glightbox/dist/js/glightbox.min.js"></script>
|
||||
<script>
|
||||
const lightbox = GLightbox({ selector: '.glightbox' });
|
||||
function sortBy(field){
|
||||
const url = new URL(window.location);
|
||||
url.searchParams.set('sort', field);
|
||||
window.location = url;
|
||||
}
|
||||
function confirmDownload(title) {
|
||||
return confirm(`Vill du ladda ner "${title}"?`);
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user