Files
cleargame/resources/views/games/index.blade.php
T
2025-06-13 23:06:13 +03:00

175 lines
9.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@extends('layouts.app')
@section('title', 'Games - ClearGame')
@section('content')
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h2 fw-bold gradient-text">All Games</h1>
<div class="d-flex gap-2">
<form action="{{ route('games.index') }}" method="GET" class="d-flex me-2">
<input type="text"
name="search"
class="form-control bg-dark text-white border-0"
placeholder="Search games..."
value="{{ request('search') }}"
style="min-width: 250px;">
<button type="submit" class="btn btn-gradient ms-2">
<i class="fas fa-search"></i>
</button>
</form>
<div class="dropdown">
<button class="btn btn-outline-gradient dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-sort me-1"></i> Sort by
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="{{ route('games.index', array_merge(request()->query(), ['sort' => 'first_release_date', 'direction' => 'desc'])) }}">
<i class="fas fa-calendar me-2"></i> Release Date
</a></li>
<li><a class="dropdown-item" href="{{ route('games.index', array_merge(request()->query(), ['sort' => 'rating', 'direction' => 'desc'])) }}">
<i class="fas fa-star me-2"></i> Rating
</a></li>
<li><a class="dropdown-item" href="{{ route('games.index', array_merge(request()->query(), ['sort' => 'rating_count', 'direction' => 'desc'])) }}">
<i class="fas fa-fire me-2"></i> Popularity
</a></li>
</ul>
</div>
<div class="dropdown">
<button class="btn btn-outline-gradient dropdown-toggle" type="button" data-bs-toggle="dropdown">
<i class="fas fa-filter me-1"></i> Filter
</button>
<ul class="dropdown-menu p-3" style="min-width: 300px;">
<li class="mb-2">
<label class="form-label text-white mb-1"><i class="fas fa-tv me-1"></i> Platform</label>
<select name="platform" class="form-select bg-dark text-white border-0" onchange="this.form.submit()">
<option value="">All Platforms</option>
@foreach($platforms as $platform)
<option value="{{ $platform->slug }}" {{ request('platform') == $platform->slug ? 'selected' : '' }}>
{{ $platform->name }}
</option>
@endforeach
</select>
</li>
<li class="mb-2">
<label class="form-label text-white mb-1"><i class="fas fa-tags me-1"></i> Genre</label>
<select name="genre" class="form-select bg-dark text-white border-0" onchange="this.form.submit()">
<option value="">All Genres</option>
@foreach($genres as $genre)
<option value="{{ $genre->slug }}" {{ request('genre') == $genre->slug ? 'selected' : '' }}>
{{ $genre->name }}
</option>
@endforeach
</select>
</li>
<li class="mb-2">
<label class="form-label text-white mb-1"><i class="fas fa-calendar-alt me-1"></i> Release Year</label>
<select name="year" class="form-select bg-dark text-white border-0" onchange="this.form.submit()">
<option value="">All Years</option>
@foreach($years as $year)
<option value="{{ $year }}" {{ request('year') == $year ? 'selected' : '' }}>
{{ $year }}
</option>
@endforeach
</select>
</li>
<li class="mb-2">
<label class="form-label text-white mb-1"><i class="fas fa-star me-1"></i> Rating Range</label>
<select name="rating_range" class="form-select bg-dark text-white border-0" onchange="this.form.submit()">
<option value="">All Ratings</option>
<option value="90-100" {{ request('rating_range') == '90-100' ? 'selected' : '' }}>90+</option>
<option value="80-89" {{ request('rating_range') == '80-89' ? 'selected' : '' }}>80-89</option>
<option value="70-79" {{ request('rating_range') == '70-79' ? 'selected' : '' }}>70-79</option>
<option value="60-69" {{ request('rating_range') == '60-69' ? 'selected' : '' }}>60-69</option>
<option value="0-59" {{ request('rating_range') == '0-59' ? 'selected' : '' }}>Below 60</option>
</select>
</li>
<li class="mt-3">
<a href="{{ route('games.index') }}" class="btn btn-outline-gradient btn-sm w-100">
<i class="fas fa-times me-1"></i> Clear Filters
</a>
</li>
</ul>
</div>
</div>
</div>
@if(request()->hasAny(['platform', 'genre', 'year ', 'rating_range']))
<div class="mb-4">
<div class="d-flex flex-wrap gap-2">
@if(request('platform'))
<span class="badge bg-primary">
<i class="fas fa-tv me-1"></i> {{ $platforms->firstWhere('slug', request('platform'))->name }}
<a href="{{ route('games.index', array_merge(request()->except('platform'), ['page' => 1])) }}" class="text-white ms-2">×</a>
</span>
@endif
@if(request('genre'))
<span class="badge bg-primary">
<i class="fas fa-tags me-1"></i> {{ $genres->firstWhere('slug', request('genre'))->name }}
<a href="{{ route('games.index', array_merge(request()->except('genre'), ['page' => 1])) }}" class="text-white ms-2">×</a>
</span>
@endif
@if(request('year'))
<span class="badge bg-primary">
<i class="fas fa-calendar-alt me-1"></i> {{ request('year') }}
<a href="{{ route('games.index', array_merge(request()->except('year'), ['page' => 1])) }}" class="text-white ms-2">×</a>
</span>
@endif
@if(request('rating_range'))
<span class="badge bg-primary">
<i class="fas fa-star me-1"></i> {{ request('rating_range') }}
<a href="{{ route('games.index', array_merge(request()->except('rating_range'), ['page' => 1])) }}" class="text-white ms-2">×</a>
</span>
@endif
</div>
</div>
@endif
<div class="row g-4">
@foreach($games as $game)
<div class="col-md-2">
<div class="cover-container">
<a href="{{ route('games.show', $game->slug) }}">
<img src="{{ $game->cover_url ?? 'https://via.placeholder.com/300x400' }}"
class="card-img-top"
alt="{{ $game->name }}"
style="height: 300px; object-fit: cover;">
<div class="game-info-cover">
text here
</div>
</a>
</div>
</div>
{{-- <div class="col">--}}
{{-- <div class="card gradient-border h-100">--}}
{{-- <img src="{{ $game->cover_url ?? 'https://via.placeholder.com/300x400' }}"--}}
{{-- class="card-img-top"--}}
{{-- alt="{{ $game->name }}"--}}
{{-- style="height: 300px; object-fit: cover;">--}}
{{-- <div class="card-body">--}}
{{-- <h5 class="card-title">{{ $game->name }}</h5>--}}
{{-- <p class="card-text text-gray-400 small">--}}
{{-- {{ Str::limit($game->summary, 100) }}--}}
{{-- </p>--}}
{{-- <div class="d-flex gap-2 mb-3">--}}
{{-- @if($game->rating)--}}
{{-- <span class="badge bg-primary"><i class="fas fa-star me-1"></i> {{ number_format($game->rating, 1) }}</span>--}}
{{-- @endif--}}
{{-- @if($game->first_release_date)--}}
{{-- <span class="badge bg-secondary">--}}
{{-- <i class="fas fa-calendar-alt me-1"></i> {{ \Carbon\Carbon::parse($game->first_release_date)->format('Y') }}--}}
{{-- </span>--}}
{{-- @endif--}}
{{-- </div>--}}
{{-- <a href="{{ route('games.show', $game->slug) }}" class="btn btn-gradient w-100">--}}
{{-- <i class="fas fa-info-circle me-1"></i> View Details--}}
{{-- </a>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
@endforeach
</div>
<div class="d-flex justify-content-center mt-5">
{{ $games->links() }}
</div>
@endsection