import { useState } from "react";

function Cart() {
  const [cart, setCart] = useState({
    items: [],
    total: 0,
    discount: null,
    isLoading: false,
  });

  const actions = {
    addItem: (item) => setCart(prev => ({
      ...prev,
      items: [...prev.items, item],
      total: prev.total + item.price,
    })),
    removeItem: (id) => setCart(prev => {
      const item = prev.items.find(i => i.id === id);
      return {
        ...prev,
        items: prev.items.filter(i => i.id !== id),
        total: prev.total - (item?.price || 0),
      };
    }),
    applyDiscount: (code) => setCart(prev => ({ ...prev, discount: code })),
    reset: () => setCart({ items: [], total: 0, discount: null, isLoading: false }),
  };

  return (
    <div>
      {JSON.stringify(cart)}
      <button onClick={() => actions.addItem({ id:1, price:10 })}>Add</button>
      <button onClick={() => actions.removeItem(1)}>Remove</button>
      <button onClick={() => actions.applyDiscount("SUMMER10")}>Discount</button>
      <button onClick={() => actions.reset()}>Reset</button>
    </div>
  );
}