mirror of
https://github.com/lorsanstand/Aether.git
synced 2026-06-19 12:05:16 +03:00
Add edit message
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
import { create } from 'zustand';
|
||||
import { persist } from 'zustand/middleware';
|
||||
import type { Chat } from '../services/chatService';
|
||||
|
||||
interface ChatStore {
|
||||
chats: Chat[];
|
||||
setChats: (chats: Chat[]) => void;
|
||||
updateChat: (chatId: string, updates: Partial<Chat>) => void;
|
||||
clearChats: () => void;
|
||||
}
|
||||
|
||||
export const useChatStore = create<ChatStore>()(
|
||||
persist(
|
||||
(set) => ({
|
||||
chats: [],
|
||||
|
||||
setChats: (chats) => set({ chats }),
|
||||
|
||||
updateChat: (chatId, updates) =>
|
||||
set((state) => ({
|
||||
chats: state.chats.map(chat =>
|
||||
chat.chat_id === chatId ? { ...chat, ...updates } : chat
|
||||
)
|
||||
})),
|
||||
|
||||
clearChats: () => set({ chats: [] }),
|
||||
}),
|
||||
{
|
||||
name: 'aether-chats',
|
||||
partialize: (state) => ({ chats: state.chats }),
|
||||
}
|
||||
)
|
||||
);
|
||||
Reference in New Issue
Block a user