diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index fca6888a6..eb4924901 100644 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -154,8 +154,6 @@ class Cart { 'base_total_weight' => $product->weight * $data['quantity'], ]; - // dd(['parent' => $parentData, 'child' => null]); - return ['parent' => $parentData, 'child' => null]; } } @@ -447,6 +445,7 @@ class Cart { */ public function removeItem($itemId) { + dd($itemId); if(session()->has('cart')) { $cart = session()->get('cart'); @@ -486,11 +485,13 @@ class Cart { } if ($result) { - session()->flash('sucess', 'Item Successfully Removed From Cart'); + session()->flash('sucess', trans('shop::app.checkout.cart.remove.success')); } else { - session()->flash('error', 'Item Cannot Be Removed From Cart'); + session()->flash('error', trans('shop::app.checkout.cart.remove.error')); } } + session()->flash('warning', trans('shop::app.checkout.cart.remove.cannot')); + return redirect()->back(); } diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php index 537f8d112..4ee3c1194 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php @@ -76,16 +76,11 @@ class CartController extends Controller } /** - * Method to populate - * the cart page which - * will be populated - * before the checkout - * process. + * Method to populate the cart page which will be populated before the checkout process. * * @return Mixed */ public function index() { - // dd(Cart::getCart()); return view($this->_config['view'])->with('cart', Cart::getCart()); } @@ -126,6 +121,14 @@ class CartController extends Controller public function updateBeforeCheckout() { $data = request()->except('_token'); + foreach($data['qty'] as $id => $quantity) { + // dd($id, $quantity); + if($quantity <= 0) { + session()->flash('warning', trans('shop::app.checkout.cart.quantity.illegal')); + + return redirect()->back(); + } + } Cart::update($data); return redirect()->back(); diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index 3700b5a3e..dff2ea127 100644 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -41,11 +41,6 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'shop::products.view' ])->name('shop.products.index'); - // //Routes for product cart - // Route::get('/checkout/cart', 'Webkul\Shop\Http\Controllers\CartController@index')->defaults('_config', [ - // 'view' => 'shop::checkout.cart.index' - // ])->name('shop.checkout.cart.index'); - Route::post('product/cart/add/{id}', 'Webkul\Shop\Http\Controllers\CartController@add')->name('cart.add'); Route::get('product/cart/remove/{id}', 'Webkul\Shop\Http\Controllers\CartController@remove')->name('cart.remove'); diff --git a/packages/Webkul/Ui/src/Resources/assets/images/icon-cart.svg b/packages/Webkul/Shop/src/Resources/assets/images/icon-cart.svg similarity index 100% rename from packages/Webkul/Ui/src/Resources/assets/images/icon-cart.svg rename to packages/Webkul/Shop/src/Resources/assets/images/icon-cart.svg diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss index 98536621d..71227fb36 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss @@ -974,7 +974,7 @@ section.product-detail { width: 100%; div.product-image-group { - margin-right: 36px; + margin-right: 30px; div { display: flex; @@ -985,7 +985,7 @@ section.product-detail { flex-direction: column; margin-right: 4px; height: 480px; - width: 120px; + min-width: 120px; overflow: hidden; position: relative; justify-content: flex-start; @@ -993,8 +993,7 @@ section.product-detail { .thumb-frame { border: 2px solid transparent; background: #F2F2F2; - max-width: 120px; - width: auto; + width: 120px; height: 120px; &.active { @@ -1002,8 +1001,8 @@ section.product-detail { } img { - width: 100%; height: 100%; + width: 100%; } } @@ -1077,8 +1076,9 @@ section.product-detail { } } - .cart-fav-seg { - display: block; + .add-to-buttons { + display: flex; + flex-direction: row; margin-top: 10px; .addtocart { diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/components.scss b/packages/Webkul/Shop/src/Resources/assets/sass/components.scss index 939075c42..78a22e599 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/components.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/components.scss @@ -83,16 +83,25 @@ .cart-fav-seg { display: inline-flex; - width: 100%; + align-items: center; .addtocart { margin-right: 10px; text-transform: uppercase; white-space: nowrap; } + + .product-card.wishlist-icon { + cursor: pointer; + } } } +//wishlist-icon-hover +.product-card.wishlist-icon:hover { + background-image: url('../images/wishadd.svg'); +} + //product page price styles .product-price { margin-bottom: 14px; diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss b/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss index 468ec6158..dea756ecb 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/icons.scss @@ -71,4 +71,16 @@ background-image: url('../images/payment.svg'); width: 32px; height: 32px; +} + +.cart-icon { + background-image: url("../images/icon-cart.svg"); + width: 24px; + height: 24px; +} + +.wishlist-icon { + background-image: url('../images/wishlist.svg'); + width: 32px; + height: 32px; } \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index 11dd753fc..2c47d91ba 100644 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -70,7 +70,16 @@ return [ 'proceed-to-checkout' => 'Proceed To Checkout', 'quantity' => 'Quantity', 'remove' => 'Remove', - 'move-to-wishlist' => 'Move to Wishlist' + 'move-to-wishlist' => 'Move to Wishlist', + 'quantity' => [ + 'quantity' => 'Quantity', + 'illegal' => 'Quantity cannot be lesser than one.' + ], + 'remove' => [ + 'cannot' => 'No items to remove from the cart', + 'success' => 'Item successfully removed from the cart', + 'error' => 'Cannot remove item from cart' + ] ], 'onepage' => [ diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php index aa1404486..7052e7d71 100644 --- a/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/checkout/cart/index.blade.php @@ -48,21 +48,28 @@ @if ($product->type == 'configurable')
+ {{-- @foreach (cart::getItemAttributeOptionDetails($item) as $key => $option) {{ Cart::getItemAttributeOptionDetails($item)['html'] }} + @endforeach --}}
@endif -
-
{{ __('shop::app.checkout.cart.quantity') }}
+
+
{{ __('shop::app.checkout.cart.quantity.quantity') }}
+ {{--
{{ $item->quantity }}
--}} - @{{ errors.first('quantity') }} + + @{{ errors.first('qty') }} + {{-- @if($product->type == 'configurable') - {{ __('shop::app.checkout.cart.remove') }} + {{ __('shop::app.checkout.cart.remove') }} @else --}} - {{ __('shop::app.checkout.cart.remove') }} + + {{ __('shop::app.checkout.cart.remove') }} + {{-- @endif --}} {{ __('shop::app.checkout.cart.move-to-wishlist') }}
diff --git a/packages/Webkul/Shop/src/Resources/views/products/add-to.blade.php b/packages/Webkul/Shop/src/Resources/views/products/add-to.blade.php index 1ebdd16b1..8af90c782 100644 --- a/packages/Webkul/Shop/src/Resources/views/products/add-to.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/add-to.blade.php @@ -2,6 +2,6 @@ @include ('shop::products.add-to-cart', ['product' => $product]) - +
\ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/products/product-add.blade.php b/packages/Webkul/Shop/src/Resources/views/products/product-add.blade.php index 584070fbf..3ad702efd 100644 --- a/packages/Webkul/Shop/src/Resources/views/products/product-add.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/product-add.blade.php @@ -1,4 +1,4 @@ -
+
@include ('shop::products.add-to-cart', ['product' => $product]) diff --git a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php index b35f5cf70..82338f73c 100644 --- a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php @@ -78,35 +78,3 @@ @endsection - -@push('scripts') - - - -@endpush - - - diff --git a/packages/Webkul/Shop/webpack.mix.js b/packages/Webkul/Shop/webpack.mix.js index a231ba8c1..cc2d629f2 100644 --- a/packages/Webkul/Shop/webpack.mix.js +++ b/packages/Webkul/Shop/webpack.mix.js @@ -8,7 +8,7 @@ mix.setPublicPath(publicPath).mergeManifest(); mix.disableNotifications(); mix.js([__dirname + "/src/Resources/assets/js/app.js"], "js/shop.js") - // .copy(__dirname + "/src/Resources/assets/images", publicPath + "/images") + .copyDirectory(__dirname + "/src/Resources/assets/images", publicPath + "/images") .sass(__dirname + "/src/Resources/assets/sass/app.scss", "css/shop.css") .options({ processCssUrls: false diff --git a/packages/Webkul/Ui/src/Resources/assets/sass/icons.scss b/packages/Webkul/Ui/src/Resources/assets/sass/icons.scss index 610a5c338..4619c3f45 100644 --- a/packages/Webkul/Ui/src/Resources/assets/sass/icons.scss +++ b/packages/Webkul/Ui/src/Resources/assets/sass/icons.scss @@ -132,12 +132,6 @@ height: 24px; } -.cart-icon { - background-image: url("../images/icon-cart.svg"); - width: 24px; - height: 24px; -} - .expand-icon { background-image: url("../images/Expand-Light.svg"); width: 18px; diff --git a/public/themes/default/assets/css/shop.css b/public/themes/default/assets/css/shop.css index 9e81fdd8c..1eb43c1e6 100644 --- a/public/themes/default/assets/css/shop.css +++ b/public/themes/default/assets/css/shop.css @@ -73,6 +73,18 @@ height: 32px; } +.cart-icon { + background-image: url("../images/icon-cart.svg"); + width: 24px; + height: 24px; +} + +.wishlist-icon { + background-image: url("../images/wishlist.svg"); + width: 32px; + height: 32px; +} + .product-grid-4 { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); @@ -155,7 +167,9 @@ display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; - width: 100%; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; } .product-card .cart-fav-seg .addtocart { @@ -164,6 +178,14 @@ white-space: nowrap; } +.product-card .cart-fav-seg .product-card.wishlist-icon { + cursor: pointer; +} + +.product-card.wishlist-icon:hover { + background-image: url("../images/wishadd.svg"); +} + .product-price { margin-bottom: 14px; width: 100%; @@ -1509,7 +1531,7 @@ section.product-detail div.layouter form { } section.product-detail div.layouter form div.product-image-group { - margin-right: 36px; + margin-right: 30px; } section.product-detail div.layouter form div.product-image-group div { @@ -1532,7 +1554,7 @@ section.product-detail div.layouter form div.product-image-group div .thumb-list flex-direction: column; margin-right: 4px; height: 480px; - width: 120px; + min-width: 120px; overflow: hidden; position: relative; -webkit-box-pack: start; @@ -1543,8 +1565,7 @@ section.product-detail div.layouter form div.product-image-group div .thumb-list section.product-detail div.layouter form div.product-image-group div .thumb-list .thumb-frame { border: 2px solid transparent; background: #F2F2F2; - max-width: 120px; - width: auto; + width: 120px; height: 120px; } @@ -1553,8 +1574,8 @@ section.product-detail div.layouter form div.product-image-group div .thumb-list } section.product-detail div.layouter form div.product-image-group div .thumb-list .thumb-frame img { - width: 100%; height: 100%; + width: 100%; } section.product-detail div.layouter form div.product-image-group div .thumb-list .gallery-control { @@ -1625,18 +1646,24 @@ section.product-detail div.layouter form div.product-image-group div .product-he right: 45px; } -section.product-detail div.layouter form div.product-image-group .cart-fav-seg { - display: block; +section.product-detail div.layouter form div.product-image-group .add-to-buttons { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; margin-top: 10px; } -section.product-detail div.layouter form div.product-image-group .cart-fav-seg .addtocart { +section.product-detail div.layouter form div.product-image-group .add-to-buttons .addtocart { border-radius: 0px; width: 49%; background: black; } -section.product-detail div.layouter form div.product-image-group .cart-fav-seg .buynow { +section.product-detail div.layouter form div.product-image-group .add-to-buttons .buynow { border-radius: 0px; width: 49%; float: right; diff --git a/public/themes/default/assets/images/icon-cart.svg b/public/themes/default/assets/images/icon-cart.svg new file mode 100644 index 000000000..652cb1094 --- /dev/null +++ b/public/themes/default/assets/images/icon-cart.svg @@ -0,0 +1,18 @@ + + + + icon-cart + Created with Sketch. + + + + + + + + + + + + + \ No newline at end of file