38 lines
725 B
TypeScript
38 lines
725 B
TypeScript
import { ref } from 'vue';
|
|
import useScroll from "@/render/composables/useScroll";
|
|
|
|
const messagesRef = ref();
|
|
|
|
/* seed the canvas with messages */
|
|
const seedCanvas = (messages: Message[]) => {
|
|
messagesRef.value = messages;
|
|
}
|
|
|
|
const addMessage = (message: Message) => {
|
|
messagesRef.value.push(message);
|
|
}
|
|
|
|
const updateMessage = (message: Message) => {
|
|
|
|
let target_message = messagesRef.value.filter((m: Message) => {
|
|
return m.uid = message.uid;
|
|
})[0];
|
|
|
|
if (target_message) {
|
|
target_message = message;
|
|
}
|
|
|
|
}
|
|
|
|
export default function useMessages() {
|
|
|
|
const { updateScrollRef, adjustScroll } = useScroll("messenger");
|
|
|
|
return {
|
|
messagesRef,
|
|
seedCanvas,
|
|
addMessage,
|
|
updateMessage
|
|
};
|
|
|
|
}
|