import { Ticket } from "@root/model/ticket"; import { create } from "zustand"; import { devtools } from "zustand/middleware"; interface TicketStore { tickets: Ticket[]; } export const useTicketStore = create()( devtools( (set, get) => ({ tickets: [], }), { name: "Tickets store" } ) ); export const updateTickets = (receivedTickets: Ticket[]) => { const state = useTicketStore.getState(); const ticketIdToTicketMap: { [ticketId: string]: Ticket; } = {}; [...state.tickets, ...receivedTickets].forEach(ticket => ticketIdToTicketMap[ticket.id] = ticket); useTicketStore.setState({ tickets: Object.values(ticketIdToTicketMap) }); };