Files
shahikitchen-prod/domain/cart/entities.ts
T

19 lines
568 B
TypeScript

import type { OrderLine, NewOrderLine } from '../shared/order-line';
export type CartItem = OrderLine;
export type NewCartItem = NewOrderLine;
export interface CartState {
items: CartItem[];
isOpen: boolean;
}
export type CartAction =
| { type: 'ADD_ITEM'; payload: NewCartItem }
| { type: 'REMOVE_ITEM'; payload: string }
| { type: 'UPDATE_QUANTITY'; payload: { id: string; quantity: number } }
| { type: 'CLEAR_CART' }
| { type: 'TOGGLE_CART' }
| { type: 'OPEN_CART' }
| { type: 'CLOSE_CART' }
| { type: 'RESTORE_ITEMS'; payload: CartItem[] };