Spaces:
Runtime error
Runtime error
File size: 953 Bytes
cd6f98e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import type { StateCreator } from "zustand";
import { create } from "zustand";
import { createSelectors } from "./helpers";
const resetters: (() => void)[] = [];
interface AgentInputSlice {
nameInput: string;
goalInput: string;
setNameInput: (nameInput: string) => void;
setGoalInput: (goalInput: string) => void;
resetInputs: () => void;
}
const initialInputState = {
nameInput: "",
goalInput: "",
};
const createAgentInputSlice: StateCreator<AgentInputSlice> = (set) => {
resetters.push(() => set(initialInputState));
return {
...initialInputState,
setNameInput: (nameInput: string) => {
set(() => ({ nameInput }));
},
setGoalInput: (goalInput: string) => {
set(() => ({ goalInput }));
},
resetInputs: () => {
set(initialInputState);
},
};
};
export const useAgentInputStore = createSelectors(
create<AgentInputSlice>()((...a) => ({
...createAgentInputSlice(...a),
}))
);
|