memos/web/src/store/zustand/message.ts
2023-03-18 22:07:14 +08:00

27 lines
593 B
TypeScript

import { create } from "zustand";
import { persist } from "zustand/middleware";
export interface Message {
role: "user" | "assistant";
content: string;
}
interface MessageState {
messageList: Message[];
getState: () => MessageState;
addMessage: (message: Message) => void;
}
export const useMessageStore = create<MessageState>()(
persist(
(set, get) => ({
messageList: [],
getState: () => get(),
addMessage: (message: Message) => set((state) => ({ messageList: [...state.messageList, message] })),
}),
{
name: "message-storage",
}
)
);