import { createContext, useContext, useState } from 'react'; const GroupOrderContext = createContext(null); export function GroupOrderProvider({ children }) { const [groups, setGroups] = useState(() => { const saved = localStorage.getItem('groupOrders'); return saved ? JSON.parse(saved) : []; }); function createGroup(creatorPhone) { const group = { id: crypto.randomUUID(), creatorPhone, orders: [], status: 'OPEN', createdAt: new Date().toISOString(), }; const updated = [...groups, group]; setGroups(updated); localStorage.setItem('groupOrders', JSON.stringify(updated)); return group; } function addOrderToGroup(groupId, phoneNumber, bookId, bookTitle, quantity) { const updated = groups.map(g => { if (g.id !== groupId) return g; const order = { orderId: crypto.randomUUID(), phoneNumber, bookId, bookTitle, quantity: Number(quantity), addedAt: new Date().toISOString(), }; return { ...g, orders: [...g.orders, order] }; }); setGroups(updated); localStorage.setItem('groupOrders', JSON.stringify(updated)); } function closeGroup(groupId) { const updated = groups.map(g => g.id === groupId ? { ...g, status: 'CLOSED' } : g ); setGroups(updated); localStorage.setItem('groupOrders', JSON.stringify(updated)); } return ( {children} ); } export function useGroupOrders() { return useContext(GroupOrderContext); }