From bc09ac8989d5d7cc5e89bca7036b6010815dbee9 Mon Sep 17 00:00:00 2001 From: Leo Goetz Date: Mon, 2 Feb 2026 11:47:42 +0100 Subject: feat: added components, proxy and finished project/course --- components/CartItem.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 components/CartItem.js (limited to 'components/CartItem.js') diff --git a/components/CartItem.js b/components/CartItem.js new file mode 100644 index 0000000..dd3fcef --- /dev/null +++ b/components/CartItem.js @@ -0,0 +1,27 @@ +import { removeFromCart } from "../services/Order.js"; + +export default class CartItem extends HTMLElement { + constructor() { + super(); + } + + connectedCallback() { + const item = JSON.parse(this.dataset.item); + this.innerHTML = ""; // Clear the element + + const template = document.getElementById("cart-item-template"); + const content = template.content.cloneNode(true); + + this.appendChild(content); + + this.querySelector(".qty").textContent = `${item.quantity}x`; + this.querySelector(".name").textContent = item.product.name; + this.querySelector(".price").textContent = + `$${item.product.price.toFixed(2)}`; + this.querySelector("a.delete-button").addEventListener("click", (event) => { + removeFromCart(item.product.id); + }); + } +} + +customElements.define("cart-item", CartItem); -- cgit v1.3