lots of progress

This commit is contained in:
2025-04-12 17:18:33 +03:00
parent 8d230e8e67
commit 3d4260d57e
44 changed files with 2590 additions and 2883 deletions
+49
View File
@@ -0,0 +1,49 @@
@extends('layouts.app')
@section('title', 'Create New List')
@section('content')
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card bg-dark text-white">
<div class="card-header">
<h4 class="mb-0">Create New List</h4>
</div>
<div class="card-body">
<form action="{{ route('lists.store') }}" method="POST">
@csrf
<div class="mb-3">
<label for="name" class="form-label">List Name</label>
<input type="text" class="form-control bg-dark text-white @error('name') is-invalid @enderror"
id="name" name="name" value="{{ old('name') }}" required>
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="description" class="form-label">Description (Optional)</label>
<textarea class="form-control bg-dark text-white @error('description') is-invalid @enderror"
id="description" name="description" rows="3">{{ old('description') }}</textarea>
@error('description')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="d-flex justify-content-between align-items-center">
<a href="{{ route('lists.index') }}" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left me-2"></i>Back to Lists
</a>
<button type="submit" class="btn btn-gradient">
<i class="fas fa-save me-2"></i>Create List
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
+50
View File
@@ -0,0 +1,50 @@
@extends('layouts.app')
@section('title', 'Edit List')
@section('content')
<div class="container py-4">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card bg-dark text-white">
<div class="card-header">
<h4 class="mb-0">Edit List</h4>
</div>
<div class="card-body">
<form action="{{ route('lists.update', $list) }}" method="POST">
@csrf
@method('PUT')
<div class="mb-3">
<label for="name" class="form-label">List Name</label>
<input type="text" class="form-control bg-dark text-white @error('name') is-invalid @enderror"
id="name" name="name" value="{{ old('name', $list->name) }}" required>
@error('name')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="mb-3">
<label for="description" class="form-label">Description (Optional)</label>
<textarea class="form-control bg-dark text-white @error('description') is-invalid @enderror"
id="description" name="description" rows="3">{{ old('description', $list->description) }}</textarea>
@error('description')
<div class="invalid-feedback">{{ $message }}</div>
@enderror
</div>
<div class="d-flex justify-content-between align-items-center">
<a href="{{ route('lists.show', $list) }}" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left me-2"></i>Back to List
</a>
<button type="submit" class="btn btn-gradient">
<i class="fas fa-save me-2"></i>Update List
</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
+54
View File
@@ -0,0 +1,54 @@
@extends('layouts.app')
@section('title', 'My Lists')
@section('content')
<div class="container py-4">
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="text-gradient">My Lists</h1>
<a href="{{ route('lists.create') }}" class="btn btn-gradient">
<i class="fas fa-plus me-2"></i>Create New List
</a>
</div>
<div class="row g-4">
@foreach($lists as $list)
<div class="col-md-6 col-lg-4">
<div class="card bg-dark text-white h-100">
<div class="card-body">
<div class="d-flex justify-content-between align-items-start mb-3">
<h5 class="card-title mb-0">{{ $list->name }}</h5>
<span class="badge bg-secondary">{{ $list->games_count }} games</span>
</div>
@if($list->description)
<p class="card-text text-muted">{{ $list->description }}</p>
@endif
</div>
<div class="card-footer bg-dark border-top border-secondary">
<div class="d-flex justify-content-between align-items-center">
<a href="{{ route('lists.show', $list) }}" class="btn btn-outline-primary btn-sm">
<i class="fas fa-eye me-1"></i> View
</a>
@if(!$list->is_default)
<div class="btn-group">
<a href="{{ route('lists.edit', $list) }}" class="btn btn-outline-secondary btn-sm">
<i class="fas fa-edit me-1"></i> Edit
</a>
<form action="{{ route('lists.destroy', $list) }}" method="POST" class="d-inline">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-outline-danger btn-sm"
onclick="return confirm('Are you sure you want to delete this list?')">
<i class="fas fa-trash me-1"></i> Delete
</button>
</form>
</div>
@endif
</div>
</div>
</div>
</div>
@endforeach
</div>
</div>
@endsection
+76
View File
@@ -0,0 +1,76 @@
@extends('layouts.app')
@section('title', $list->name)
@section('content')
<div class="container py-4">
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<h1 class="text-gradient mb-1">{{ $list->name }}</h1>
@if($list->description)
<p class="text-muted mb-0">{{ $list->description }}</p>
@endif
</div>
<div class="btn-group">
@if(!$list->is_default)
<a href="{{ route('lists.edit', $list) }}" class="btn btn-outline-secondary">
<i class="fas fa-edit me-2"></i>Edit List
</a>
@endif
<a href="{{ route('lists.index') }}" class="btn btn-outline-primary">
<i class="fas fa-list me-2"></i>All Lists
</a>
</div>
</div>
@if($games->isEmpty())
<div class="text-center py-5">
<i class="fas fa-gamepad fa-3x text-muted mb-3"></i>
<h3 class="text-muted">No games in this list yet</h3>
<p class="text-muted">Start adding games to your list!</p>
</div>
@else
<div class="row g-4">
@foreach($games as $game)
<div class="col-md-6 col-lg-4">
<div class="card bg-dark text-white h-100">
<img src="{{ $game->cover_url }}" class="card-img-top" alt="{{ $game->name }}"
style="height: 200px; object-fit: cover;">
<div class="card-body">
<h5 class="card-title">{{ $game->name }}</h5>
<div class="d-flex gap-2 mb-2">
@foreach($game->platforms as $platform)
<span class="badge bg-secondary">{{ $platform->name }}</span>
@endforeach
</div>
<div class="d-flex gap-2">
@foreach($game->genres as $genre)
<span class="badge bg-primary">{{ $genre->name }}</span>
@endforeach
</div>
</div>
<div class="card-footer bg-dark border-top border-secondary">
<div class="d-flex justify-content-between align-items-center">
<a href="{{ route('games.show', $game) }}" class="btn btn-outline-primary btn-sm">
<i class="fas fa-eye me-1"></i> View Game
</a>
<form action="{{ route('lists.removeGame', [$list, $game]) }}" method="POST" class="d-inline">
@csrf
@method('DELETE')
<button type="submit" class="btn btn-outline-danger btn-sm">
<i class="fas fa-times me-1"></i> Remove
</button>
</form>
</div>
</div>
</div>
</div>
@endforeach
</div>
<div class="d-flex justify-content-center mt-4">
{{ $games->links() }}
</div>
@endif
</div>
@endsection