61 lines
1.4 KiB
TypeScript
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
|
|
};
|