frontend/stores/useEventStore.ts (view raw)
1import create from 'zustand';
2import {Event} from '../generated/graphql';
3
4type State = {
5 event: Event;
6 setEvent: (event: Event) => void;
7 setEventUpdate: (event: Event) => void;
8 isEditing: boolean;
9 setIsEditing: (isEditing: boolean) => void;
10};
11
12const useEventStore = create<State>((set, get) => ({
13 event: null,
14 setEvent: event => set({event}),
15 setEventUpdate: eventUpdate => {
16 const event = get().event;
17 set({event: {...event, ...eventUpdate}});
18 },
19 isEditing: false,
20 setIsEditing: isEditing => set({isEditing}),
21}));
22
23export default useEventStore;