File size: 482 Bytes
adea8c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { create } from "zustand";
import { WsEvent } from "../types";

interface EventStore {
  events: WsEvent[];
  connected: boolean;
  push: (e: WsEvent) => void;
  clear: () => void;
  setConnected: (v: boolean) => void;
}

export const useEventStore = create<EventStore>((set) => ({
  events: [],
  connected: false,
  push: (e) => set((s) => ({ events: [e, ...s.events].slice(0, 20) })),
  clear: () => set({ events: [] }),
  setConnected: (v) => set({ connected: v }),
}));