mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
190 lines
12 KiB
PHP
190 lines
12 KiB
PHP
@extends('layouts.admin')
|
|
|
|
@section('content')
|
|
<div class="container mx-auto px-4 py-6">
|
|
<div class="bg-white dark:bg-gray-800 rounded-lg shadow-sm">
|
|
<!-- Header -->
|
|
<div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
|
|
<div class="flex justify-between items-center">
|
|
<h1 class="text-2xl font-semibold text-gray-800 dark:text-gray-200">
|
|
<i class="fa fa-exclamation-triangle mr-2"></i>{{ $title }}
|
|
</h1>
|
|
<a href="{{ url('/admin/release-list') }}" class="px-4 py-2 bg-gray-600 text-white rounded-lg hover:bg-gray-700">
|
|
<i class="fa fa-list mr-2"></i>View All Releases
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Success/Error/Warning Messages -->
|
|
@if(session('success'))
|
|
<div class="mx-6 mt-4 p-4 bg-green-50 dark:bg-green-900 border border-green-200 dark:border-green-700 rounded-lg">
|
|
<p class="text-green-800 dark:text-green-200">
|
|
<i class="fa fa-check-circle mr-2"></i>{{ session('success') }}
|
|
</p>
|
|
</div>
|
|
@endif
|
|
|
|
@if(session('error'))
|
|
<div class="mx-6 mt-4 p-4 bg-red-50 dark:bg-red-900 border border-red-200 dark:border-red-700 rounded-lg">
|
|
<p class="text-red-800 dark:text-red-200">
|
|
<i class="fa fa-exclamation-circle mr-2"></i>{{ session('error') }}
|
|
</p>
|
|
</div>
|
|
@endif
|
|
|
|
@if(session('warning'))
|
|
<div class="mx-6 mt-4 p-4 bg-yellow-50 dark:bg-yellow-900 border border-yellow-200 dark:border-yellow-700 rounded-lg">
|
|
<p class="text-yellow-800 dark:text-yellow-200">
|
|
<i class="fa fa-exclamation-triangle mr-2"></i>{{ session('warning') }}
|
|
</p>
|
|
</div>
|
|
@endif
|
|
|
|
<!-- Search Form -->
|
|
<div class="px-6 py-4 bg-gray-50 dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700">
|
|
<form method="GET" action="{{ url('/admin/failrel-list') }}">
|
|
<div class="flex gap-2">
|
|
<div class="relative flex-1">
|
|
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
|
|
<i class="fa fa-search text-gray-400"></i>
|
|
</div>
|
|
<input type="text"
|
|
name="failrelsearch"
|
|
value="{{ request('failrelsearch') }}"
|
|
placeholder="Search by name or category..."
|
|
class="pl-10 w-full px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white">
|
|
</div>
|
|
<button type="submit" class="px-4 py-2 bg-blue-600 dark:bg-blue-700 text-white rounded-lg hover:bg-blue-700">
|
|
Search
|
|
</button>
|
|
@if(request('failrelsearch'))
|
|
<a href="{{ url('/admin/failrel-list') }}" class="px-4 py-2 bg-gray-600 text-white rounded-lg hover:bg-gray-700">
|
|
Clear
|
|
</a>
|
|
@endif
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- Failed Releases List Table -->
|
|
@if($releaselist && $releaselist->count() > 0)
|
|
<div class="overflow-x-auto">
|
|
<table class="min-w-full divide-y divide-gray-200 dark:divide-gray-700">
|
|
<thead class="bg-gray-50 dark:bg-gray-700">
|
|
<tr>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Name</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Category</th>
|
|
<th class="px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Size</th>
|
|
<th class="px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Files</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Add Date</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Post Date</th>
|
|
<th class="px-6 py-3 text-center text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Grabs</th>
|
|
<th class="px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">
|
|
@foreach($releaselist as $release)
|
|
<tr class="hover:bg-gray-50 dark:hover:bg-gray-700">
|
|
<td class="px-6 py-4">
|
|
<a href="{{ url('/admin/release-edit?id=' . $release->guid) }}"
|
|
class="text-sm font-medium text-blue-600 dark:text-blue-400 hover:underline truncate block max-w-xs"
|
|
title="{{ $release->searchname }}">
|
|
{{ \Illuminate\Support\Str::limit($release->searchname, 50) }}
|
|
</a>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap">
|
|
<span class="px-2 py-1 text-xs font-semibold rounded-full bg-purple-100 dark:bg-purple-900 text-purple-800 dark:text-purple-200">
|
|
{{ $release->category_name ?? 'Unknown' }}
|
|
</span>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-right">
|
|
<span class="px-2 py-1 text-xs font-semibold rounded-full bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200">
|
|
{{ human_filesize($release->size) }}
|
|
</span>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-center">
|
|
<a href="{{ url('/admin/release-files?id=' . $release->guid) }}"
|
|
class="inline-flex items-center px-2 py-1 text-xs font-semibold rounded-full bg-indigo-100 dark:bg-indigo-900 text-indigo-800 dark:text-indigo-200 hover:bg-indigo-200 dark:hover:bg-indigo-800">
|
|
<i class="fa fa-file mr-1"></i>{{ $release->totalpart ?? 0 }}
|
|
</a>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">
|
|
<div class="flex items-center">
|
|
<i class="fa fa-calendar-plus-o text-gray-400 mr-2"></i>
|
|
<span title="{{ $release->adddate }}">
|
|
{{ userDate($release->adddate, 'Y-m-d H:i') }}
|
|
</span>
|
|
</div>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">
|
|
<div class="flex items-center">
|
|
<i class="fa fa-calendar text-gray-400 mr-2"></i>
|
|
<span title="{{ $release->postdate }}">
|
|
{{ userDate($release->postdate, 'Y-m-d H:i') }}
|
|
</span>
|
|
</div>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-center">
|
|
<span class="px-2 py-1 text-xs font-semibold rounded-full bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200">
|
|
<i class="fa fa-download mr-1"></i>{{ $release->grabs ?? 0 }}
|
|
</span>
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium">
|
|
<div class="flex justify-end gap-2">
|
|
<a href="{{ url('/admin/release-edit?id=' . $release->guid) }}"
|
|
class="text-blue-600 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-300"
|
|
title="Edit release">
|
|
<i class="fa fa-pencil"></i>
|
|
</a>
|
|
@if($release->guid)
|
|
<a href="{{ url('/details/' . $release->guid) }}"
|
|
class="text-indigo-600 dark:text-indigo-400 hover:text-indigo-900 dark:hover:text-indigo-300"
|
|
title="View release">
|
|
<i class="fa fa-eye"></i>
|
|
</a>
|
|
@endif
|
|
<button type="button"
|
|
class="text-red-600 dark:text-red-400 hover:text-red-900 dark:hover:text-red-300"
|
|
data-delete-release="{{ $release->guid }}"
|
|
data-delete-url="{{ url('/admin/release-delete/' . $release->guid) }}"
|
|
title="Delete release">
|
|
<i class="fa fa-trash"></i>
|
|
</button>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<div class="px-6 py-4 border-t border-gray-200 dark:border-gray-700">
|
|
<div class="flex flex-col sm:flex-row justify-between items-center gap-4">
|
|
<div class="text-sm text-gray-700 dark:text-gray-300">
|
|
Showing <span class="font-semibold">{{ $releaselist->firstItem() }}</span> to
|
|
<span class="font-semibold">{{ $releaselist->lastItem() }}</span> of
|
|
<span class="font-semibold">{{ $releaselist->total() }}</span> failed releases
|
|
</div>
|
|
<div class="overflow-x-auto">
|
|
{{ $releaselist->onEachSide(2)->links() }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@else
|
|
<div class="px-6 py-12 text-center">
|
|
<i class="fa fa-check-circle text-gray-400 text-5xl mb-4"></i>
|
|
<p class="text-gray-500 dark:text-gray-400 text-lg">
|
|
@if(request('failrelsearch'))
|
|
No failed releases found matching "{{ request('failrelsearch') }}".
|
|
@else
|
|
No failed releases found. Great job!
|
|
@endif
|
|
</p>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
@endsection
|
|
|