mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-28 17:01:16 +00:00
134 lines
8.3 KiB
PHP
134 lines
8.3 KiB
PHP
@extends('layouts.admin')
|
|
|
|
@section('content')
|
|
<div class="space-y-6">
|
|
<div class="bg-white dark:bg-gray-800 rounded-xl 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="fas fa-gamepad mr-2"></i>{{ $title }}
|
|
</h1>
|
|
<div class="text-sm text-gray-600 dark:text-gray-400">
|
|
Total: {{ $consoleList->total() }} games
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Console Table -->
|
|
<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-900">
|
|
<tr>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Cover</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Title</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Platform</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Publisher</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Release Date</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">ESRB</th>
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700">
|
|
@forelse($consoleList as $console)
|
|
<tr class="hover:bg-gray-50 dark:hover:bg-gray-700">
|
|
<td class="px-6 py-4 whitespace-nowrap">
|
|
@php
|
|
$coverPath = public_path('covers/console/' . $console->id . '.webp');
|
|
$legacyCoverPath = public_path('covers/console/' . $console->id . '.jpg');
|
|
$hasCover = file_exists($coverPath) || file_exists($legacyCoverPath);
|
|
@endphp
|
|
@if($hasCover)
|
|
<img src="{{ asset('covers/console/' . $console->id . (file_exists($coverPath) ? '.webp' : '.jpg')) }}"
|
|
alt="{{ $console->title }}"
|
|
class="h-16 w-12 object-cover rounded shadow"
|
|
loading="lazy">
|
|
@else
|
|
<div class="h-16 w-12 bg-gray-200 dark:bg-gray-700 rounded flex items-center justify-center">
|
|
<i class="fas fa-gamepad text-gray-400 text-sm"></i>
|
|
</div>
|
|
@endif
|
|
</td>
|
|
<td class="px-6 py-4">
|
|
<div class="text-sm font-medium text-gray-900 dark:text-gray-200">
|
|
{{ $console->title }}
|
|
</div>
|
|
@if($console->asin)
|
|
<div class="text-xs text-gray-500 dark:text-gray-400">
|
|
ASIN: {{ $console->asin }}
|
|
</div>
|
|
@endif
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap">
|
|
@if($console->platform)
|
|
<span class="px-2 py-1 inline-flex text-xs leading-5 font-semibold rounded-full bg-purple-100 text-purple-800 dark:bg-purple-900 dark:text-purple-200">
|
|
{{ $console->platform }}
|
|
</span>
|
|
@else
|
|
<span class="text-gray-400">—</span>
|
|
@endif
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-900 dark:text-gray-200">
|
|
{{ $console->publisher ?? '—' }}
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500 dark:text-gray-400">
|
|
@if($console->releasedate)
|
|
{{ date('Y-m-d', $console->releasedate) }}
|
|
@else
|
|
—
|
|
@endif
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap">
|
|
@if($console->esrb)
|
|
<span class="px-2 py-1 inline-flex text-xs leading-5 font-semibold rounded-full
|
|
@if($console->esrb == 'E') bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-200
|
|
@elseif($console->esrb == 'E10+') bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200
|
|
@elseif($console->esrb == 'T') bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200
|
|
@elseif($console->esrb == 'M') bg-orange-100 text-orange-800 dark:bg-orange-900 dark:text-orange-200
|
|
@elseif($console->esrb == 'AO') bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200
|
|
@else bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-200
|
|
@endif">
|
|
{{ $console->esrb }}
|
|
</span>
|
|
@else
|
|
<span class="text-gray-400">—</span>
|
|
@endif
|
|
</td>
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium space-x-2">
|
|
<a href="{{ url('admin/console-edit?id=' . $console->id) }}"
|
|
class="text-blue-600 dark:text-blue-400 hover:text-blue-900 dark:hover:text-blue-300"
|
|
title="Edit">
|
|
<i class="fas fa-edit"></i>
|
|
</a>
|
|
@if($console->url)
|
|
<a href="{{ $console->url }}"
|
|
target="_blank"
|
|
class="text-green-600 dark:text-green-400 hover:text-green-900 dark:hover:text-green-300"
|
|
title="View Source">
|
|
<i class="fas fa-external-link-alt"></i>
|
|
</a>
|
|
@endif
|
|
</td>
|
|
</tr>
|
|
@empty
|
|
<tr>
|
|
<td colspan="7" class="px-6 py-8 text-center text-gray-500 dark:text-gray-400">
|
|
<div class="flex flex-col items-center">
|
|
<i class="fas fa-gamepad text-4xl mb-3"></i>
|
|
<p class="text-lg">No console games available</p>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@endforelse
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<!-- Pagination -->
|
|
<div class="px-6 py-4 bg-gray-50 dark:bg-gray-900 border-t border-gray-200 dark:border-gray-700">
|
|
{{ $consoleList->links() }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endsection
|