Skip to content

Commit

Permalink
Merge pull request #8 from abrahamfast/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
abrahamfast authored Aug 13, 2020
2 parents fdf009c + 934f9ed commit 8438358
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 125 deletions.
19 changes: 16 additions & 3 deletions app/Http/Controllers/GameController.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Http;

class GameController extends Controller
{
Expand Down Expand Up @@ -40,12 +41,24 @@ public function store(Request $request)
/**
* Display the specified resource.
*
* @param int $id
* @param string $slug
* @return \Illuminate\Http\Response
*/
public function show($id)
public function show($slug)
{
//
$endpoint = "https://api-v3.igdb.com/games";
$game = Http::withHeaders(config('services.igdb'))->withOptions([
'body' => "
fields rating,screenshots.*, name,videos.*, cover.*, first_release_date, popularity, platforms.abbreviation ,slug, involved_companies.company.*, genres.*, similar_games.*, similar_games.cover.*,summary;
where slug = \"{$slug}\";
"
])->get($endpoint)->json();

abort_if(!$game, 404);

return view('show', [
'game' => $game[0]
]);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion app/Http/Livewire/GamePopular.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public function loadPopularGames()

return Http::withHeaders(config('services.igdb'))->withOptions([
'body' => "
fields name, cover.*, first_release_date, popularity,platforms.abbreviation,rating;
fields name, cover.*, first_release_date, popularity,platforms.abbreviation,rating, slug;
where platforms = (48,49,130,6)
& ( first_release_date >= {$before}
& first_release_date < {$after});
Expand Down
4 changes: 2 additions & 2 deletions resources/views/livewire/game-popular.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
@forelse($popularGames as $game)
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<a href="{{ route('game.show', $game['slug']) }}">
<img src="{{ str_replace('thumb', 'cover_big', $game['cover']['url']) }}" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
@isset($game['rating'])
Expand All @@ -13,7 +13,7 @@
</div>
@endisset
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">{{ $game['name'] }}</a>
<a href="{{ route('game.show', $game['slug']) }}" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">{{ $game['name'] }}</a>
<div class="text-gray-400 mt-1">
@foreach($game['platforms'] as $platform)
@if(array_key_exists('abbreviation', $platform))
Expand Down
173 changes: 59 additions & 114 deletions resources/views/show.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,37 @@
<div class="container mx-auto px-4">
<div class="game-details border-b border-gray-800 pb-12 flex flex-col lg:flex-row">
<div class="flex-none">
<img src="/img/gg1.jpg" alt="cover" class="">
<img src="{{ Str::replaceFirst('thumb', 'cover_big', $game['cover']['url']) }}" alt="cover" class="">
</div>
<div class="lg:ml-12 lg:mr-64">
<h2 class="font-semibold text-4xl leading-tight mt-1">
Final Fantesy
{{ $game['name'] }}
</h2>
<div class="text-gray-400">
<span>Adventure, RPG</span>
<span>
@foreach($game['genres'] as $genre)
{{ $genre['name'] }},
@endforeach
</span>
&middot;
<span>Square, Enix</span>
<span>{{ $game['involved_companies'][0]['company']['name'] }}</span>
&middot;
<span>Playstation 4</span>
@foreach($game['platforms'] as $platform)
@if(array_key_exists('abbreviation', $platform))
{{ $platform['abbreviation'] }}
@endif
@endforeach
</div>
<div class="flex flex-wrap items-center mt-8">
<div class="flex items-center">
<div class="w-16 h-16 bg-gray-800 rounded-full">
<div class="font-semibold text-xs flex justify-center items-center h-full">90%</div>
<div class="font-semibold text-xs flex justify-center items-center h-full">{{ floor($game['rating'].'%') }}</div>
</div>
<div class="ml-4 text-xs">Member <br> Score</div>
</div>
<div class="flex items-center">
<div class="w-16 h-16 bg-gray-800 rounded-full ml-12">
<div class="font-semibold text-xs flex justify-center items-center h-full">88%</div>
<div class="font-semibold text-xs flex justify-center items-center h-full">{{ floor($game['rating']).'%' }}</div>
</div>
<div class="ml-4 text-xs">Critic <br> Score</div>
</div>
Expand All @@ -45,127 +53,64 @@
</div>
</div>
</div>
<p class="mt-12">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Numquam illo id dicta eaque dolorum. Placeat repellendus accusantium sequi et dolorem, repellat fugit consequuntur exercitationem aut quasi, labore eveniet. Necessitatibus corporis soluta quas voluptate praesentium, fugiat illum nesciunt porro autem quod.
</p>
<p class="mt-12">{{ $game['summary'] }}</p>

<div class="mt-12">
<button class="flex bg-blue-500 text-white font-semibold px-4 py-4 hover:bg-blud-600 rounded transition ease-in-out duration-150">
<span class="ml-2">Play Trailer</span>
</button>
{{-- <button class="flex bg-blue-500 text-white font-semibold px-4 py-4 hover:bg-blud-600 rounded transition ease-in-out duration-150">
<span class="ml-2">Play Trailer</span>
</button> --}}
<a href="https://youtube.com/watch/{{$game['videos'][0]['video_id']}}" class="flex-inline bg-blue-500 text-white font-semibold px-4 py-4 hover:bg-blud-600 rounded transition ease-in-out duration-150">
<span class="ml-2">Play Trailer</span>
</a>
</div>
</div>
</div>
</div>
<div class="images-conainer border-b border-gray-800 pb-12 mt-8">
<h2 class="text-blue-500 uppercase tracking-wide font-semibold">Images</h2>
<div class="grid grid-cols-1 md:grid-cols-2 md:grid-cols-3 gap-12 mt-8">
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
<div>
<a href="#">
<img src="/img/gg1.jpg" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
@foreach($game['screenshots'] as $screenshot)
<div>
<a href="{{ Str::replaceFirst('thumb', 'cover_huge', $screenshot['url']) }}">
<img src="{{ Str::replaceFirst('thumb', 'cover_big', $screenshot['url']) }}" alt="screenshot" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
</div>
@endforeach

</div>
</div>

<div class="similar-games mt-8 mb-8">
<h2 class="text-blue-500 uppercase tracking-wide font-semibold">Similar Games</h2>
<div class="similar-games text-sm grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 xl:grid-6 gap-12 gap-12">
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<img src="/img/gg1.jpg" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
80%
</div>
</div>
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">Final Fantasy & remak</a>
<div class="text-gray-400 mt-1">Playstation4</div>
</div>
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<img src="/img/gg1.jpg" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
80%
</div>
</div>
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">Final Fantasy & remak</a>
<div class="text-gray-400 mt-1">Playstation4</div>
</div>
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<img src="/img/gg1.jpg" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
80%
</div>
</div>
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">Final Fantasy & remak</a>
<div class="text-gray-400 mt-1">Playstation4</div>
</div>
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<img src="/img/gg1.jpg" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
80%
</div>
</div>
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">Final Fantasy & remak</a>
<div class="text-gray-400 mt-1">Playstation4</div>
</div>
<div class="game mt-8">
<div class="relative inline-block">
<a href="#">
<img src="/img/gg1.jpg" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
80%
<div class="similar-games text-sm grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 xl:grid-6 gap-12 gap-12">
@foreach($game['similar_games'] as $game)
<div class="game mt-8">
<div class="relative inline-block">
@if(array_key_exists('cover', $game))
<a href="{{ route('game.show', $game['slug']) }}">
<img src="{{ Str::replaceFirst('thumb', 'cover_big', $game['cover']['url']) }}" alt="game cover" class="hover:opacity-75 transition ease-in-out duration-150">
</a>
@endif
@isset($game['rating'])
<div class="absolute bottom-0 right-0 w-16 h-16 bg-gray-800 rounded-full progress-list-item">
<div class="font-semibold text-xs flex justify-center items-center h-full">
{{ round($game['rating']).'%' }}
</div>
</div>
@endisset
</div>
<a href="{{ route('game.show', $game['slug']) }}" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">{{ $game['name'] }}</a>
<div class="text-gray-400 mt-1">
@if(array_key_exists('platfroms', $game))
@foreach($game['platforms'] as $platform)
@if(array_key_exists('abbreviation', $platform))
{{ $platform['abbreviation'] }}
@endif
@endforeach
@endif
</div>
</div>
@endforeach
</div>
</div>
<a href="#" class="block text-base font-semibold leading-tight hover:text-gray-400 mt-8">Final Fantasy & remak</a>
<div class="text-gray-400 mt-1">Playstation4</div>
</div>
</div>
</div>

</div>
Expand Down
6 changes: 1 addition & 5 deletions routes/web.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,4 @@
use Illuminate\Support\Facades\Route;

Route::get('/', 'GameController@index');


Route::get('/show', function(){
return view('show');
});
Route::get('/game/{slug}', 'GameController@show')->name('game.show');

0 comments on commit 8438358

Please sign in to comment.