Companion message state handling
This commit is contained in:
parent
7cec5fa2fb
commit
84dd40de5d
3 changed files with 41 additions and 8 deletions
18
src/store.ts
18
src/store.ts
|
|
@ -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;
|
||||
|
|
|
|||
Reference in a new issue