Help and docs
Sign in

demo/acme-web code browser

main 72fe66b
TypeScript · 18 lines · 537 B
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import type { Product } from "../api/client";
import { useCart } from "../cart/store";
import { formatMoney } from "../lib/money";
import { Button } from "../ui/Button";

export function ProductCard({ product }: { product: Product }) {
  const cart = useCart();
  return (
    <li className="card">
      <img src={product.imageURL} alt="" />
      <h3>{product.name}</h3>
      <p>{formatMoney(product.price)}</p>
      <Button variant="secondary" onClick={() => cart.add(product)}>
        Add to cart
      </Button>
    </li>
  );
}