mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Remove XXX covers processing and related code
This commit is contained in:
@@ -431,20 +431,6 @@
|
||||
</select>
|
||||
<p class="mt-1 text-sm text-gray-500">Whether to attempt to lookup game information from Amazon.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="lookupxxx" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">
|
||||
<i class="fa fa-video mr-1"></i>Lookup XXX
|
||||
</label>
|
||||
<select id="lookupxxx" name="lookupxxx" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100">
|
||||
@foreach($yesno['ids'] as $index => $yesnoId)
|
||||
<option value="{{ $yesnoId }}" {{ ($site['lookupxxx'] ?? '') == $yesnoId ? 'selected' : '' }}>
|
||||
{{ $yesno['names'][$index] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<p class="mt-1 text-sm text-gray-500">Whether to attempt to lookup XXX information when processing binaries.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -878,15 +864,6 @@
|
||||
<p class="mt-1 text-sm text-gray-500">The maximum amount of books to process with amazon per run. This does not use an NNTP connection</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="maxxxxprocessed" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">
|
||||
<i class="fa fa-video mr-1"></i>Maximum XXX Per Run
|
||||
</label>
|
||||
<input type="text" id="maxxxxprocessed" name="maxxxxprocessed" value="{{ $site['maxxxxprocessed'] ?? '' }}"
|
||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100">
|
||||
<p class="mt-1 text-sm text-gray-500">The maximum amount of XXX to process per run.</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label for="fixnamesperrun" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">
|
||||
<i class="fa fa-edit mr-1"></i>fixReleaseNames Per Run
|
||||
|
||||
@@ -602,15 +602,6 @@
|
||||
class="h-4 w-4 text-blue-600 dark:text-blue-400 focus:ring-blue-500 border-gray-300 dark:border-gray-600 rounded">
|
||||
<label for="bookview" class="ml-2 text-sm text-gray-700 dark:text-gray-300">Books</label>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<input type="checkbox"
|
||||
id="xxxview"
|
||||
name="xxxview"
|
||||
value="1"
|
||||
{{ (is_array($user) ? ($user['xxxview'] ?? 0) : ($user->xxxview ?? 0)) ? 'checked' : '' }}
|
||||
class="h-4 w-4 text-blue-600 dark:text-blue-400 focus:ring-blue-500 border-gray-300 dark:border-gray-600 rounded">
|
||||
<label for="xxxview" class="ml-2 text-sm text-gray-700 dark:text-gray-300">XXX</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -253,41 +253,6 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- XXX Information -->
|
||||
@if(!empty($xxx))
|
||||
@php
|
||||
$xxxData = is_object($xxx) ? get_object_vars($xxx) : $xxx;
|
||||
$xxxTitle = $xxxData['title'] ?? ($xxx->title ?? null);
|
||||
$xxxGenre = $xxxData['genre'] ?? ($xxx->genre ?? null);
|
||||
$xxxActors = $xxxData['actors'] ?? ($xxx->actors ?? null);
|
||||
@endphp
|
||||
<div class="bg-gradient-to-r from-red-50 to-pink-50 dark:from-red-900 dark:to-pink-900 rounded-lg p-6 border border-red-100 dark:border-red-800">
|
||||
<h3 class="text-lg font-semibold text-gray-800 dark:text-gray-200 mb-4 flex items-center">
|
||||
<i class="fas fa-exclamation-triangle mr-2 text-red-600 dark:text-red-400"></i> Adult Content Information
|
||||
</h3>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
@if(!empty($xxxTitle))
|
||||
<div>
|
||||
<dt class="text-sm font-medium text-gray-600 dark:text-gray-400">Title</dt>
|
||||
<dd class="mt-1 text-sm text-gray-900 dark:text-gray-100 font-semibold">{{ $xxxTitle }}</dd>
|
||||
</div>
|
||||
@endif
|
||||
@if(!empty($xxxGenre))
|
||||
<div class="md:col-span-2">
|
||||
<dt class="text-sm font-medium text-gray-600 dark:text-gray-400">Genre</dt>
|
||||
<dd class="mt-1 text-sm text-gray-900 dark:text-gray-100">{!! $xxxGenre !!}</dd>
|
||||
</div>
|
||||
@endif
|
||||
@if(!empty($xxxActors))
|
||||
<div class="md:col-span-2">
|
||||
<dt class="text-sm font-medium text-gray-600 dark:text-gray-400">Actors</dt>
|
||||
<dd class="mt-1 text-sm text-gray-900 dark:text-gray-100">{!! $xxxActors !!}</dd>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Music Information -->
|
||||
@if(!empty($music))
|
||||
@php
|
||||
|
||||
@@ -183,11 +183,6 @@
|
||||
class="rounded border-gray-300 dark:border-gray-600 text-blue-600 dark:text-blue-400 focus:ring-blue-500 mr-2">
|
||||
<span class="text-sm text-gray-700 dark:text-gray-300">Book Covers</span>
|
||||
</label>
|
||||
<label class="flex items-center">
|
||||
<input type="checkbox" name="xxxview" value="1" {{ $user->xxxview ? 'checked' : '' }}
|
||||
class="rounded border-gray-300 dark:border-gray-600 text-blue-600 dark:text-blue-400 focus:ring-blue-500 mr-2">
|
||||
<span class="text-sm text-gray-700 dark:text-gray-300">XXX Covers</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -325,10 +325,6 @@
|
||||
<i class="fa {{ $user->bookview ? 'fa-check-square text-green-600' : 'fa-square text-gray-400' }} mr-2"></i>
|
||||
<span>Book Covers</span>
|
||||
</div>
|
||||
<div class="flex items-center">
|
||||
<i class="fa {{ $user->xxxview ? 'fa-check-square text-green-600' : 'fa-square text-gray-400' }} mr-2"></i>
|
||||
<span>XXX Covers</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -7,276 +7,125 @@
|
||||
@section('content')
|
||||
<div class="bg-white dark:bg-gray-800 rounded-xl shadow-sm">
|
||||
<!-- Breadcrumb -->
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="flex items-center space-x-2 text-sm text-gray-600">
|
||||
<li><a href="{{ url($site['home_link'] ?? '/') }}" class="hover:text-blue-600">Home</a></li>
|
||||
<ol class="flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400">
|
||||
<li><a href="{{ url($site['home_link'] ?? '/') }}" class="hover:text-blue-600 dark:hover:text-blue-400">Home</a></li>
|
||||
<li><i class="fas fa-chevron-right text-xs mx-2"></i></li>
|
||||
<li><a href="{{ url('/browse/XXX') }}" class="hover:text-blue-600">XXX</a></li>
|
||||
<li><a href="{{ url('/XXX') }}" class="hover:text-blue-600 dark:hover:text-blue-400">XXX</a></li>
|
||||
@if(!empty($categorytitle) && $categorytitle !== 'All')
|
||||
<li><i class="fas fa-chevron-right text-xs mx-2"></i></li>
|
||||
<li class="text-gray-500">{{ $categorytitle }}</li>
|
||||
<li class="text-gray-500 dark:text-gray-400">{{ $categorytitle }}</li>
|
||||
@endif
|
||||
</ol>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="px-6 py-4">
|
||||
<!-- Search Filters -->
|
||||
<div class="bg-gray-50 dark:bg-gray-900 rounded-lg p-4 mb-6">
|
||||
<form method="get" action="{{ url('/XXX/' . ($categorytitle ?: 'All')) }}">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
|
||||
<!-- Title Filter -->
|
||||
<div>
|
||||
<label for="title" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Title</label>
|
||||
<input type="text"
|
||||
id="title"
|
||||
name="title"
|
||||
value="{{ $title ?? '' }}"
|
||||
placeholder="Search by title"
|
||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500">
|
||||
</div>
|
||||
|
||||
<!-- Actors Filter -->
|
||||
<div>
|
||||
<label for="actors" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Actors</label>
|
||||
<input type="text"
|
||||
id="actors"
|
||||
name="actors"
|
||||
value="{{ $actors ?? '' }}"
|
||||
placeholder="Search by actors"
|
||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500">
|
||||
</div>
|
||||
|
||||
<!-- Director Filter -->
|
||||
<div>
|
||||
<label for="director" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Director</label>
|
||||
<input type="text"
|
||||
id="director"
|
||||
name="director"
|
||||
value="{{ $director ?? '' }}"
|
||||
placeholder="Search by director"
|
||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 placeholder-gray-400 dark:placeholder-gray-500">
|
||||
</div>
|
||||
|
||||
<!-- Genre Filter -->
|
||||
<div>
|
||||
<label for="genre" class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Genre</label>
|
||||
<select id="genre"
|
||||
name="genre"
|
||||
class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100">
|
||||
<option value="">All Genres</option>
|
||||
@foreach($genres ?? [] as $g)
|
||||
<option value="{{ $g }}" {{ ($genre ?? '') == $g ? 'selected' : '' }}>
|
||||
{{ $g }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-4 flex gap-2">
|
||||
<button type="submit" class="px-4 py-2 bg-blue-600 dark:bg-blue-700 text-white rounded-md hover:bg-blue-700">
|
||||
<i class="fa fa-search mr-2"></i>Search
|
||||
</button>
|
||||
<a href="{{ url('/XXX/' . ($categorytitle ?: 'All')) }}" class="px-4 py-2 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded-md hover:bg-gray-300">
|
||||
<i class="fa fa-times mr-2"></i>Clear
|
||||
<!-- Category and order -->
|
||||
<div class="mb-4 flex flex-wrap items-center gap-4">
|
||||
<div class="flex items-center gap-2 flex-wrap">
|
||||
<span class="text-sm font-medium text-gray-700 dark:text-gray-300">Category:</span>
|
||||
@foreach($catlist ?? [] as $c)
|
||||
<a href="{{ url('/XXX/' . $c['title']) }}?t={{ $c['id'] }}"
|
||||
class="px-3 py-1 rounded-lg text-sm {{ (string)($category ?? '') === (string)$c['id'] ? 'bg-blue-600 dark:bg-blue-700 text-white' : 'bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-300 dark:hover:bg-gray-600' }}">
|
||||
{{ $c['title'] }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Results -->
|
||||
@if(count($results) > 0)
|
||||
<div class="mb-4 flex justify-between items-center">
|
||||
<div class="flex items-center gap-4">
|
||||
<h2 class="text-xl font-semibold text-gray-800 dark:text-gray-200">
|
||||
<i class="fa fa-film mr-2 text-blue-600"></i>
|
||||
{{ $catname ?? 'All' }} XXX
|
||||
</h2>
|
||||
<x-view-toggle
|
||||
current-view="covers"
|
||||
covgroup="xxx"
|
||||
:category="$categorytitle ?? 'All'"
|
||||
parentcat="XXX"
|
||||
:shows="false"
|
||||
/>
|
||||
</div>
|
||||
<span class="text-sm text-gray-600 dark:text-gray-400">
|
||||
{{ $results->total() }} results found
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<!-- XXX Grid - Card Layout with Multiple Releases -->
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
|
||||
@foreach($results as $result)
|
||||
@php
|
||||
$releases = $result->releases ?? [];
|
||||
$totalReleases = $result->total_releases ?? count($releases);
|
||||
$maxReleases = 2;
|
||||
$displayReleases = array_slice($releases, 0, $maxReleases);
|
||||
$guid = !empty($displayReleases) ? $displayReleases[0]->guid : null;
|
||||
$totalFailed = collect($releases)->sum(fn($r) => (int)($r->failed_count ?? 0));
|
||||
@endphp
|
||||
|
||||
<div class="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden hover:shadow-lg transition-shadow">
|
||||
<div class="flex flex-row">
|
||||
<!-- Cover Image -->
|
||||
<div class="flex-shrink-0">
|
||||
@if($guid)
|
||||
<a href="{{ url('/details/' . $guid) }}" class="block">
|
||||
@if(isset($result->cover) && $result->cover == 1)
|
||||
<img src="{{ url('/covers/xxx/' . $result->id . '-cover.jpg') }}"
|
||||
alt="{{ $result->title }}"
|
||||
class="w-32 h-48 object-cover"
|
||||
data-fallback-src="{{ url('/images/no-cover.png') }}">
|
||||
@else
|
||||
<div class="w-32 h-48 bg-gray-200 dark:bg-gray-700 flex items-center justify-center">
|
||||
<i class="fas fa-film text-gray-400 text-2xl"></i>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
@else
|
||||
<div class="w-32 h-48 bg-gray-200 dark:bg-gray-700 flex items-center justify-center">
|
||||
<i class="fas fa-film text-gray-400 text-2xl"></i>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Content Details -->
|
||||
<div class="flex-1 p-4">
|
||||
<div class="flex justify-between items-start mb-2">
|
||||
<div class="flex-1">
|
||||
<h3 class="text-xl font-bold text-gray-900 dark:text-gray-100">{{ $result->title }}</h3>
|
||||
|
||||
@if($totalFailed > 0)
|
||||
<div class="inline-flex items-center px-2 py-1 rounded text-xs font-medium bg-red-100 text-red-800 border border-red-200 mt-1">
|
||||
<i class="fas fa-exclamation-triangle mr-1"></i>
|
||||
<span>{{ $totalFailed }} failed report{{ $totalFailed > 1 ? 's' : '' }}</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-xs text-gray-600 dark:text-gray-400 mt-2 space-y-1">
|
||||
@if(!empty($result->genre))
|
||||
<div>
|
||||
<strong>Genre:</strong> {!! makeFieldLinks((array) $result, 'genre', 'xxx') !!}
|
||||
</div>
|
||||
@endif
|
||||
@if(!empty($result->actors))
|
||||
<div>
|
||||
<strong>Actors:</strong> {!! makeFieldLinks((array) $result, 'actors', 'xxx') !!}
|
||||
</div>
|
||||
@endif
|
||||
@if(!empty($result->director))
|
||||
<div>
|
||||
<strong>Director:</strong> {!! makeFieldLinks((array) $result, 'director', 'xxx') !!}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@if(isset($result->plot) && $result->plot)
|
||||
<p class="text-gray-700 dark:text-gray-300 text-sm mt-2 line-clamp-2">{{ $result->plot }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Release Information -->
|
||||
@if(!empty($displayReleases))
|
||||
<div class="mt-4 pt-4 border-t border-gray-200 dark:border-gray-700">
|
||||
<h4 class="text-sm font-semibold text-gray-700 dark:text-gray-300 mb-2">
|
||||
Available Releases
|
||||
@if($totalReleases > $maxReleases)
|
||||
<span class="text-xs font-normal text-gray-500">(Showing {{ $maxReleases }} of {{ $totalReleases }})</span>
|
||||
@endif
|
||||
</h4>
|
||||
<div class="space-y-2">
|
||||
@foreach($displayReleases as $release)
|
||||
@if($release->searchname)
|
||||
<div class="bg-gray-50 dark:bg-gray-900 rounded-lg p-2 border border-gray-200 dark:border-gray-700">
|
||||
<div class="space-y-2">
|
||||
<!-- Release Name -->
|
||||
<a href="{{ url('/details/' . $release->guid) }}" class="text-sm text-gray-800 dark:text-gray-200 hover:text-blue-600 dark:hover:text-blue-400 font-medium block break-all" title="{{ $release->searchname }}">
|
||||
{{ $release->searchname }}
|
||||
</a>
|
||||
|
||||
<!-- Info Badges -->
|
||||
<div class="flex flex-wrap items-center gap-1.5">
|
||||
@if(isset($release->size))
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300">
|
||||
<i class="fas fa-hdd mr-1"></i>{{ number_format($release->size / 1073741824, 2) }} GB
|
||||
</span>
|
||||
@endif
|
||||
@if(isset($release->postdate))
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300">
|
||||
<i class="fas fa-calendar-alt mr-1"></i>{{ date('M d, Y H:i', strtotime($release->postdate)) }}
|
||||
</span>
|
||||
@endif
|
||||
@if(isset($release->grabs) && $release->grabs > 0)
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200">
|
||||
<i class="fas fa-download mr-1"></i>{{ $release->grabs }} grabs
|
||||
</span>
|
||||
@endif
|
||||
@if(isset($release->nfoid) && !empty($release->nfoid))
|
||||
<button type="button"
|
||||
class="nfo-badge inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200 hover:bg-yellow-200 dark:hover:bg-yellow-800 transition cursor-pointer"
|
||||
data-guid="{{ $release->guid }}"
|
||||
title="View NFO file">
|
||||
<i class="fas fa-file-alt mr-1"></i> NFO
|
||||
</button>
|
||||
@endif
|
||||
@if(isset($release->haspreview) && $release->haspreview == 1)
|
||||
<button type="button"
|
||||
class="preview-badge inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200 hover:bg-purple-200 dark:hover:bg-purple-800 transition cursor-pointer"
|
||||
data-guid="{{ $release->guid }}"
|
||||
title="View preview image">
|
||||
<i class="fas fa-image mr-1"></i> Preview
|
||||
</button>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Action Buttons -->
|
||||
<div class="flex flex-wrap items-center gap-1.5">
|
||||
<a href="{{ url('/getnzb/' . $release->guid) }}" class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-green-600 dark:bg-green-700 text-white hover:bg-green-700 dark:hover:bg-green-800 transition">
|
||||
<i class="fas fa-download mr-1"></i> Download
|
||||
</a>
|
||||
<button class="add-to-cart inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-blue-600 dark:bg-blue-700 text-white hover:bg-blue-700 dark:hover:bg-blue-800 transition" data-guid="{{ $release->guid }}">
|
||||
<i class="fas fa-shopping-cart mr-1"></i> Cart
|
||||
</button>
|
||||
<a href="{{ url('/details/' . $release->guid) }}" class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-600 dark:bg-gray-700 text-white hover:bg-gray-700 dark:hover:bg-gray-800 transition">
|
||||
<i class="fas fa-info-circle mr-1"></i> Details
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="flex items-center gap-2 flex-wrap ml-auto">
|
||||
<span class="text-sm font-medium text-gray-700 dark:text-gray-300">Order by:</span>
|
||||
@foreach($ordering ?? [] as $ob)
|
||||
<a href="{{ $orderByUrls['orderby'.$ob] ?? url('/XXX/' . ($categorytitle ?: 'All') . '?ob=' . $ob) }}"
|
||||
class="px-2 py-1 rounded text-xs bg-gray-100 dark:bg-gray-700 text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-600">
|
||||
{{ str_replace('_', ' ', $ob) }}
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if($results->count() > 0)
|
||||
<div class="mb-4 text-sm text-gray-600 dark:text-gray-400">
|
||||
{{ $results->total() }} results found
|
||||
</div>
|
||||
|
||||
<div class="overflow-x-auto">
|
||||
<table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
|
||||
<thead class="bg-gray-100 dark:bg-gray-900">
|
||||
<tr>
|
||||
<th class="px-3 py-3 text-left text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider">Name</th>
|
||||
<th class="px-3 py-3 text-left text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider">Category</th>
|
||||
<th class="px-3 py-3 text-left text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider">Added</th>
|
||||
<th class="px-3 py-3 text-left text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider">Size</th>
|
||||
<th class="px-3 py-3 text-left text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">
|
||||
@foreach($results as $result)
|
||||
<tr class="hover:bg-gray-50 dark:hover:bg-gray-700/50 transition">
|
||||
<td class="px-3 py-4">
|
||||
<div class="flex items-start gap-3">
|
||||
<div class="flex-shrink-0 w-12 h-16 bg-gray-200 dark:bg-gray-700 rounded flex items-center justify-center">
|
||||
<i class="fas fa-film text-gray-400 text-lg"></i>
|
||||
</div>
|
||||
<div class="flex-1 min-w-0">
|
||||
<a href="{{ url('/details/' . $result->guid) }}" class="text-blue-600 dark:text-blue-400 hover:text-blue-800 dark:hover:text-blue-300 font-medium break-all block">
|
||||
{{ $result->searchname }}
|
||||
</a>
|
||||
@if(!empty($result->failed_count) && $result->failed_count > 0)
|
||||
<span class="inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200 mt-1">
|
||||
<i class="fas fa-exclamation-triangle mr-1"></i> Failed ({{ $result->failed_count }})
|
||||
</span>
|
||||
@endif
|
||||
@if(!empty($result->group_name))
|
||||
<span class="text-xs text-gray-500 dark:text-gray-400 mt-1 block">{{ $result->group_name }}</span>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-3 py-4 whitespace-nowrap">
|
||||
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200">
|
||||
{{ $result->category_name ?? 'Other' }}
|
||||
</span>
|
||||
</td>
|
||||
<td class="px-3 py-4 whitespace-nowrap text-sm text-gray-600 dark:text-gray-400">
|
||||
{{ userDateDiffForHumans($result->adddate ?? null) }}
|
||||
</td>
|
||||
<td class="px-3 py-4 whitespace-nowrap text-sm text-gray-600 dark:text-gray-400">
|
||||
{{ isset($result->size) ? number_format($result->size / 1073741824, 2) . ' GB' : '-' }}
|
||||
</td>
|
||||
<td class="px-3 py-4 whitespace-nowrap">
|
||||
<div class="flex items-center gap-1">
|
||||
<a href="{{ url('/getnzb/' . $result->guid) }}" class="px-2 py-1 bg-green-600 dark:bg-green-700 text-white rounded text-sm hover:bg-green-700 dark:hover:bg-green-800" title="Download NZB">
|
||||
<i class="fa fa-download"></i>
|
||||
</a>
|
||||
<a href="{{ url('/details/' . $result->guid) }}" class="px-2 py-1 bg-blue-600 dark:bg-blue-700 text-white rounded text-sm hover:bg-blue-700 dark:hover:bg-blue-800" title="Details">
|
||||
<i class="fa fa-info"></i>
|
||||
</a>
|
||||
<a href="#" class="add-to-cart px-2 py-1 bg-gray-200 dark:bg-gray-700 text-gray-700 dark:text-gray-300 rounded text-sm hover:bg-gray-300 dark:hover:bg-gray-600" data-guid="{{ $result->guid }}" title="Add to Cart">
|
||||
<i class="fa fa-shopping-cart"></i>
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Pagination -->
|
||||
<div class="flex justify-center mt-6">
|
||||
{{ $results->links() }}
|
||||
</div>
|
||||
@else
|
||||
<!-- No Results -->
|
||||
<div class="bg-yellow-50 border border-yellow-200 rounded-lg p-8 text-center">
|
||||
<i class="fa fa-film text-yellow-600 text-5xl mb-4"></i>
|
||||
<div class="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-8 text-center">
|
||||
<i class="fa fa-film text-yellow-600 dark:text-yellow-500 text-5xl mb-4"></i>
|
||||
<h3 class="text-xl font-semibold text-gray-800 dark:text-gray-200 mb-2">No content found</h3>
|
||||
<p class="text-gray-600 dark:text-gray-400 mb-4">Try adjusting your search filters or browse all content.</p>
|
||||
<a href="{{ url('/XXX/All') }}" class="inline-flex items-center px-4 py-2 bg-blue-600 dark:bg-blue-700 text-white rounded-lg hover:bg-blue-700">
|
||||
<p class="text-gray-600 dark:text-gray-400 mb-4">Try a different category or browse all XXX.</p>
|
||||
<a href="{{ url('/XXX/All') }}" class="inline-flex items-center px-4 py-2 bg-blue-600 dark:bg-blue-700 text-white rounded-lg hover:bg-blue-700 dark:hover:bg-blue-800">
|
||||
<i class="fa fa-film mr-2"></i> Browse All XXX
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- All modals (NFO, preview, etc.) are included globally via layouts.main --}}
|
||||
@endsection
|
||||
|
||||
|
||||
Reference in New Issue
Block a user