mime-chat/src/render/shared/messages.ts
Andrew Gundersen 51c4ad8ed7 new message anim
2021-06-25 18:28:29 -05:00

61 lines
1.4 KiB
TypeScript

// shared
import { ref, Ref } from "vue";
import useScroll from "@/render/composables/useScroll";
export const messages: Ref<Array<Message>> = ref([]);
export const setMessages: IpcListenerCallback<Array<Message>> = (payload) => {
// messages.value = payload as Array<Message>;
}
export const addMessage: IpcListenerCallback<Message> = (payload) => {
messages.value.push(payload as Message);
}
export const updateMessage: IpcListenerCallback<Annotation> = (payload) => {
const annotation = payload as Annotation;
let targetMessage = messages.value.filter((m: Message) => {
return m.uid === annotation.uid;
})[0];
if (targetMessage) {
targetMessage.content = annotation.content;
targetMessage.context = annotation.context;
}
}
messages.value = [
{
content: ["Welcome Andrew"],
context: "Crimata",
modifier: "ai",
uid: "b5dd3d1b-cef0-4057-aa0f-c72e5c4cd67d"
},
{
content: ["show contacts"],
context: "show contacts",
modifier: "client",
uid: "ee2819a3-1125-4881-9942-ca5b3d0ad502"
}]
setTimeout(() => {
console.log("updating message");
updateMessage({
content: ["show contacts", "msg"],
context: "show contacts",
uid: "ee2819a3-1125-4881-9942-ca5b3d0ad502"
});
}, 2000);
export default {
messages,
setMessages,
addMessage,
updateMessage
};