import { messagesMock as initialMessagesMock } from '../mocks/mock-signature/messagesMock.js'; // Store singleton for messages class MessageStore { private readonly STORAGE_KEY = 'chat_messages'; private messages: any[] = []; constructor() { this.messages = this.loadFromLocalStorage() || []; } private loadFromLocalStorage() { try { const stored = localStorage.getItem(this.STORAGE_KEY); return stored ? JSON.parse(stored) : null; } catch (error) { console.error('Error loading messages:', error); return null; } } getMessages() { return this.messages; } setMessages(messages: any[]) { this.messages = messages; this.saveToLocalStorage(); } private saveToLocalStorage() { try { localStorage.setItem(this.STORAGE_KEY, JSON.stringify(this.messages)); } catch (error) { console.error('Error saving messages:', error); } } addMessage(memberId: string | number, message: any) { const memberMessages = this.messages.find((m) => String(m.memberId) === String(memberId)); if (memberMessages) { memberMessages.messages.push(message); } else { this.messages.push({ memberId: String(memberId), messages: [message], }); } this.saveToLocalStorage(); } } export const messageStore = new MessageStore();