From 09d737dfab436dfecc49a6215b3bffc54749b520 Mon Sep 17 00:00:00 2001 From: bad Date: Wed, 8 Dec 2021 16:39:56 +0100 Subject: [PATCH] Move cart into a separate page --- app/Http/Controllers/CartController.php | 8 ++++-- resources/scss/app.scss | 5 ++++ resources/views/cart.blade.php | 34 +++++++++++++++++++++++++ resources/views/layouts/app.blade.php | 3 ++- resources/views/user.blade.php | 24 ----------------- routes/web.php | 1 + 6 files changed, 48 insertions(+), 27 deletions(-) create mode 100644 resources/views/cart.blade.php diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php index 9fa008a..5d8ff33 100644 --- a/app/Http/Controllers/CartController.php +++ b/app/Http/Controllers/CartController.php @@ -8,6 +8,7 @@ use Exception; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; +use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException; class CartController extends Controller { @@ -19,8 +20,11 @@ class CartController extends Controller */ public function show() { - throw new Exception("UNIMPLEMENTED"); - //return view("product/view", ["product" => $product]); + $user = Auth::user(); + if (!$user) { + throw new AccessDeniedHttpException("Not logged in"); + } + return view("cart", ["user" => $user]); } public function addToCart(Product $product) diff --git a/resources/scss/app.scss b/resources/scss/app.scss index 93c0659..5ea2824 100644 --- a/resources/scss/app.scss +++ b/resources/scss/app.scss @@ -37,6 +37,11 @@ nav { justify-content: center; } +.cart-amount { + padding: 0; + margin: 0; +} + main { display: flex; diff --git a/resources/views/cart.blade.php b/resources/views/cart.blade.php new file mode 100644 index 0000000..0aab0a0 --- /dev/null +++ b/resources/views/cart.blade.php @@ -0,0 +1,34 @@ +@push('head') + +@endpush + +@extends('layouts.app') + +@section('title', "Sklep") + +@section('main') +
+

Your cart:

+
+
+ @foreach($user->cart as $product) +
+ +
+ @csrf + +
+
+ @endforeach() +
+ +
+ @csrf + @foreach($user->cart as $product) + + @endforeach() + +
+
+
+@endsection() diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 177e209..fef133c 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -18,7 +18,8 @@
@auth - Hello {{ Auth::user()->name }} + {{count(Auth::user()->cart) }} + {{ Auth::user()->name }} @endauth @guest Login diff --git a/resources/views/user.blade.php b/resources/views/user.blade.php index 89c5e2f..b3bf487 100644 --- a/resources/views/user.blade.php +++ b/resources/views/user.blade.php @@ -13,28 +13,4 @@

Logout

-
-

Your cart:

-
-
- @foreach($user->cart as $product) -
- -
- @csrf - -
-
- @endforeach() -
- -
- @csrf - @foreach($user->cart as $product) - - @endforeach() - -
-
-
@endsection() diff --git a/routes/web.php b/routes/web.php index 6c8dbfe..bc16a1b 100644 --- a/routes/web.php +++ b/routes/web.php @@ -33,6 +33,7 @@ Route::post('/login', [LoginController::class, "authenticate"])->name("login"); Route::post('/register', [LoginController::class, "register"])->name("register"); Route::any("/logout", [LoginController::class, "logout"])->name("logout"); +Route::get("/cart", [CartController::class, "show"])->name("cart")->middleware("auth"); Route::post("/product/{product}/addToCart", [CartController::class, "addToCart"])->name("addToCart")->middleware("auth"); Route::post("/product/{product}/removeFromCart", [CartController::class, "removeFromCart"])->name("removeFromCart")->middleware("auth");