Companion message state handling

This commit is contained in:
Dennis Schoepf 2021-07-20 18:18:05 +02:00
parent 7cec5fa2fb
commit 84dd40de5d
3 changed files with 41 additions and 8 deletions

View file

@ -1,15 +1,23 @@
import create from 'zustand/vanilla';
import { devtools } from 'zustand/middleware';
import { Scenes } from './scenes/scenes';
import { CompanionState } from './ui/companion';
import { CompanionMessage, CompanionState } from './ui/companion';
export interface State {
currentScene: Scenes;
companionState: CompanionState;
userMessages: CompanionMessage[];
addUserMessage: (newMessage: CompanionMessage) => void;
}
const store = create<State>(() => ({
currentScene: Scenes.OVERVIEW,
companionState: CompanionState.IDLE,
}));
const store = create<State>(
devtools((set) => ({
currentScene: Scenes.OVERVIEW,
companionState: CompanionState.IDLE,
userMessages: [],
addUserMessage: (newMessage) =>
set((state) => ({ userMessages: [...state.userMessages, newMessage] })),
}))
);
export default store;