import { useCartStore } from "~/stores/cart"; import { storeToRefs } from "pinia"; import type { EquipmentItem } from "~/composables/useEquipment"; /** * Cart composable – wraps the Pinia cart store for convenient use in components. * Provides reactive refs and action methods. */export function useCart() { const store = useCartStore(); const { items, totalCount, isEmpty, hasItems, apiItems } = storeToRefs(store); function addItem(equipment: EquipmentItem): void { store.addItem(equipment); } function addItemByFields(item: { equipment_id: number; name: string; rental_price: number | null; image_url: string | null; }): void { store.addItemByFields(item); } function removeItem(equipmentId: number): void { store.removeItem(equipmentId); } function updateQuantity(equipmentId: number, quantity: number): void { store.updateQuantity(equipmentId, quantity); } function incrementQuantity(equipmentId: number): void { store.incrementQuantity(equipmentId); } function decrementQuantity(equipmentId: number): void { store.decrementQuantity(equipmentId); } function clearCart(): void { store.clearCart(); } return { items, totalCount, isEmpty, hasItems, apiItems, addItem, addItemByFields, removeItem, updateQuantity, incrementQuantity, decrementQuantity, clearCart, }; }