// shared import { ref, Ref } from "vue"; export const messages: Ref> = ref([]); export const setMessages: IpcListenerCallback> = (payload) => { messages.value = payload; } export const addMessage: IpcListenerCallback = (payload) => { messages.value.push(payload as Message); } export const updateMessage: IpcListenerCallback = (payload) => { const annotation = payload as Annotation; for (const i in messages.value) { if (messages.value[i].uid == annotation.uid) { if (annotation.name == "content") { messages.value[i].content = annotation.data as Content[]; } if (annotation.name == "context") { messages.value[i].context = annotation.data as Context; } if (annotation.name == "seen") { messages.value[i].seen = annotation.data as boolean; } } } } export const deleteMessage: IpcListenerCallback = (payload) => { const uid = payload as string; for (let i = 0; i < messages.value.length; i++) { if (messages.value[i].uid === uid) { messages.value.splice(i, 1); break; } } } export const resetMessages = () => { messages.value = []; } export default { messages, setMessages, addMessage, updateMessage };