Files
silk/app/src/store/appStore.ts
T

25 lines
821 B
TypeScript

import { create } from 'zustand';
import type { Room, TelemetryRecord } from '../types';
interface AppState {
currentRoom: Room | null;
setCurrentRoom: (room: Room | null) => void;
refreshTrigger: number;
triggerRefresh: () => void;
realtimeData: TelemetryRecord[];
setRealtimeData: (data: TelemetryRecord[]) => void;
wsConnected: boolean;
setWsConnected: (connected: boolean) => void;
}
export const useAppStore = create<AppState>()((set) => ({
currentRoom: null,
setCurrentRoom: (room) => set({ currentRoom: room }),
refreshTrigger: 0,
triggerRefresh: () => set((state) => ({ refreshTrigger: state.refreshTrigger + 1 })),
realtimeData: [],
setRealtimeData: (data) => set({ realtimeData: data }),
wsConnected: false,
setWsConnected: (connected) => set({ wsConnected: connected }),
}));