All checks were successful
CI / Get Changed Files (pull_request) Successful in 17s
Pull Request Labeler / labeler (pull_request_target) Successful in 6s
Label PRs based on size / Check PR size (pull_request) Successful in 19s
CI / oxlint (pull_request) Successful in 26s
CI / eslint (pull_request) Successful in 36s
CI / prettier (pull_request) Successful in 35s
Claude PR Review / claude-code (pull_request) Successful in 1m13s
CI / test-build (pull_request) Successful in 37s
CI / Backend Tests (pull_request) Has been skipped
CI / Checkstyle Main (pull_request) Has been skipped
CI / Docker backend validation (pull_request) Has been skipped
CI / Docker frontend validation (pull_request) Successful in 24s
77 lines
3.3 KiB
HTML
77 lines
3.3 KiB
HTML
<div class="container mx-auto px-4 py-6 space-y-8">
|
|
<div class="flex justify-between items-center">
|
|
<div class="flex items-center space-x-4"></div>
|
|
</div>
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
|
|
<div class="lg:col-span-4">
|
|
<div class="flex justify-between items-center mb-6">
|
|
<h3 class="section-heading text-2xl">Alle Spiele</h3>
|
|
<div class="flex space-x-2">
|
|
<button class="nav-button left-0">
|
|
<span class="material-icons">chevron_left</span>
|
|
</button>
|
|
<button class="nav-button right-0">
|
|
<span class="material-icons">chevron_right</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="slider-container">
|
|
<div class="min-w-full space-y-4">
|
|
<!-- Top row with 3 games -->
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
<div class="card group" *ngFor="let game of featuredGames.slice(0, 3)">
|
|
<div class="relative overflow-hidden rounded-lg">
|
|
<img
|
|
[src]="game.image"
|
|
[alt]="game.name"
|
|
class="w-full aspect-[4/3] object-cover transition-transform duration-300 group-hover:scale-105"
|
|
/>
|
|
<div
|
|
class="absolute inset-0 bg-gradient-to-t from-deep-blue/95 via-deep-blue/50 to-transparent opacity-0 group-hover:opacity-100 transition-all duration-300 ease-in-out"
|
|
>
|
|
<div
|
|
class="absolute bottom-4 left-4 right-4 transform translate-y-4 group-hover:translate-y-0 transition-transform duration-300"
|
|
>
|
|
<h4 class="game-heading">{{ game.name }}</h4>
|
|
<button class="button-primary w-full py-2" (click)="navigateToGame(game.route)">
|
|
Jetzt Spielen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Bottom row with 2 games centered -->
|
|
<div
|
|
class="grid grid-cols-1 sm:grid-cols-2 gap-4 max-w-2xl mx-auto xl:max-w-3xl xl:gap-6"
|
|
>
|
|
<div class="card group" *ngFor="let game of featuredGames.slice(3, 5)">
|
|
<div class="relative overflow-hidden rounded-lg">
|
|
<img
|
|
[src]="game.image"
|
|
[alt]="game.name"
|
|
class="w-full aspect-[4/3] object-cover transition-transform duration-300 group-hover:scale-105"
|
|
/>
|
|
<div
|
|
class="absolute inset-0 bg-gradient-to-t from-deep-blue/95 via-deep-blue/50 to-transparent opacity-0 group-hover:opacity-100 transition-all duration-300 ease-in-out"
|
|
>
|
|
<div
|
|
class="absolute bottom-4 left-4 right-4 transform translate-y-4 group-hover:translate-y-0 transition-transform duration-300"
|
|
>
|
|
<h4 class="game-heading">{{ game.name }}</h4>
|
|
<button class="button-primary w-full py-2" (click)="navigateToGame(game.route)">
|
|
Jetzt Spielen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|