From d16d194ae44ee1fe880f808ea3b006390eb44b6c Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Wed, 27 Nov 2024 17:28:09 +0100 Subject: [PATCH] feat: update cart with custom trigger --- theme/templates/theme/base.html | 2 +- web/static/favicon.ico | Bin 0 -> 15406 bytes .../components/cart/cart_dropdown.html | 57 ------------------ web/templates/components/generic/navbar.html | 2 +- web/views.py | 4 +- 5 files changed, 4 insertions(+), 61 deletions(-) create mode 100644 web/static/favicon.ico delete mode 100644 web/templates/components/cart/cart_dropdown.html diff --git a/theme/templates/theme/base.html b/theme/templates/theme/base.html index 4ad77ba..207f9b2 100644 --- a/theme/templates/theme/base.html +++ b/theme/templates/theme/base.html @@ -7,7 +7,7 @@ {{ title }} {% include "theme/seo.html" %} - + {% tailwind_css %} diff --git a/web/static/favicon.ico b/web/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..97068fe92c0519f85777e6a668b9a40ee30f26e9 GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/web/templates/components/cart/cart_dropdown.html b/web/templates/components/cart/cart_dropdown.html deleted file mode 100644 index 9e52769..0000000 --- a/web/templates/components/cart/cart_dropdown.html +++ /dev/null @@ -1,57 +0,0 @@ -{% load i18n %} - -
- - {% if cart.items.count == 0 %} -

No hay nada en el carrito

- {% endif %} - - {% for cart_item in cart.items.all %} -
- {{ cart_item.product.name }} -

{{ cart_item.product.price.price_with_tax }}

-
- -
-

{% translate 'Cantidad' %}: {{ cart_item.quantity }}

- -
- - -
- - - -
- {% endfor %} - -
- -{% if cart.items.count > 0 %} - {% translate 'Ir a pagar' %} - -{% endif %} diff --git a/web/templates/components/generic/navbar.html b/web/templates/components/generic/navbar.html index 42b5457..7b3834f 100644 --- a/web/templates/components/generic/navbar.html +++ b/web/templates/components/generic/navbar.html @@ -46,7 +46,7 @@ {% include 'components/theme-switch.html' %} - + {% if request.user.is_authenticated %} diff --git a/web/views.py b/web/views.py index 625ec4c..7dc2638 100644 --- a/web/views.py +++ b/web/views.py @@ -38,7 +38,7 @@ class ProductDetail(TemplateView): ) def add_cart_item(request, *args, **kwargs): product = get_object_or_404(Product, pk=request.POST.get("product")) - response = HttpResponse(status=201) + response = HttpResponse(status=201, headers={'HX-Trigger': 'updated-cart'}) if not request.user.is_authenticated: cart = Cart.objects.create( @@ -72,7 +72,7 @@ def delete_cart_item(request, pk, *args, **kwargs): cart = get_cart(request) cart_item = get_object_or_404(CartItem, pk=pk, cart=cart) cart_item.delete() - return HttpResponse(status=204) + return HttpResponse(status=204, headers={'HX-Trigger': 'updated-cart'}) index = IndexView.as_view()