summaryrefslogtreecommitdiff
path: root/components/CartItem.js
blob: dd3fcef4906b8a3c41a20476232f2ca1fedb0538 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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);