File size: 716 Bytes
5f40163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { create } from "zustand";

type SubmittedEventId = string | number;

interface EventMessageState {
  submittedEventIds: SubmittedEventId[];
}

interface EventMessageStore extends EventMessageState {
  addSubmittedEventId: (id: SubmittedEventId) => void;
  removeSubmittedEventId: (id: SubmittedEventId) => void;
}

export const useEventMessageStore = create<EventMessageStore>((set) => ({
  submittedEventIds: [],
  addSubmittedEventId: (id) =>
    set((state) => ({
      submittedEventIds: [...state.submittedEventIds, id],
    })),
  removeSubmittedEventId: (id) =>
    set((state) => ({
      submittedEventIds: state.submittedEventIds.filter(
        (eventId) => eventId !== id,
      ),
    })),
}));