diff --git a/app/Http/Controllers/ReviewController.php b/app/Http/Controllers/ReviewController.php index 19cd983..85b7e93 100644 --- a/app/Http/Controllers/ReviewController.php +++ b/app/Http/Controllers/ReviewController.php @@ -29,10 +29,14 @@ class ReviewController extends Controller { $validated = $request->validate([ 'content' => 'required|string|min:10|max:1000', - 'recommended' => 'required|boolean', - 'rating' => 'required|integer|between:1,10', + 'recommended' => 'sometimes|nullable|boolean', + 'rating' => 'required|between:1,10', ]); + if (!isset($validated['recommended'])) { + $validated['recommended'] = false; + } + $review = new Review($validated); $review->user_id = Auth::id(); $review->game_id = $game->id; diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 0c81433..d6c26f1 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -41,14 +41,116 @@ background: linear-gradient(var(--background), var(--background)) padding-box, linear-gradient(90deg, var(--primary), var(--accent)) border-box; } + .navbar { + background-color: rgba(18, 18, 18, 0.95); + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); + padding: 0.75rem 1rem; + } + .navbar-brand { + font-size: 1.5rem; + font-weight: 700; + } + .nav-link { + color: var(--text); + font-weight: 500; + padding: 0.5rem 1rem; + transition: all 0.3s ease; + } + .nav-link:hover, .nav-link.active { + color: var(--accent); + } + .btn-gradient { + background: linear-gradient(90deg, var(--primary), var(--accent)); + color: white; + border: none; + font-weight: 500; + padding: 0.5rem 1.25rem; + border-radius: 4px; + transition: all 0.3s ease; + } + .btn-gradient:hover { + opacity: 0.9; + transform: translateY(-1px); + color: white; + } + .btn-outline-light { + border-color: rgba(255, 255, 255, 0.3); + color: var(--text); + } + .btn-outline-light:hover { + background-color: rgba(255, 255, 255, 0.1); + border-color: var(--accent); + color: var(--accent); + } + .dropdown-menu { + background-color: #1a1a1a; + border: 1px solid #333; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); + } + .dropdown-item { + color: var(--text); + } + .dropdown-item:hover { + background-color: #2a2a2a; + color: var(--accent); + } + .dropdown-divider { + border-top: 1px solid #333; + } + .form-control.bg-dark { + background-color: rgba(30, 30, 30, 0.8); + border: 1px solid #333; + color: var(--text); + transition: all 0.3s ease; + } + .form-control.bg-dark:focus { + background-color: rgba(40, 40, 40, 0.9); + border-color: var(--accent); + box-shadow: 0 0 0 0.25rem rgba(0, 201, 255, 0.25); + } + .input-group { + width: 250px; + } + @media (min-width: 992px) { + .input-group { + width: 300px; + } + } + @media (max-width: 991.98px) { + .navbar-collapse { + background-color: rgba(25, 25, 25, 0.97); + padding: 1rem; + border-radius: 0.5rem; + margin-top: 0.5rem; + box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); + } + .form-control.bg-dark { + margin-bottom: 1rem; + } + .input-group { + width: 100%; + } + .navbar-toggler { + border-color: rgba(255, 255, 255, 0.3); + color: var(--text); + } + .navbar-toggler:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 201, 255, 0.25); + } + .navbar-toggler-icon { + filter: invert(1); + } + } @stack('styles')
-