Compare commits
2 commits
5b1d25807e
...
9fee630a68
Author | SHA1 | Date | |
---|---|---|---|
9fee630a68 | |||
2c2013fa81 |
1 changed files with 6 additions and 6 deletions
|
@ -37,8 +37,7 @@ const messagesRes: MessageResponse[] | undefined = await fetchWithApi(
|
||||||
const firstMessageByUsers = ref<Record<string, MessageResponse | undefined>>({});
|
const firstMessageByUsers = ref<Record<string, MessageResponse | undefined>>({});
|
||||||
const previousMessage = ref<MessageResponse>();
|
const previousMessage = ref<MessageResponse>();
|
||||||
|
|
||||||
async function groupMessage(message: MessageResponse, options?: { prevMessage?: MessageResponse, reverse?: boolean }) {
|
function groupMessage(message: MessageResponse, options?: { prevMessage?: MessageResponse, reverse?: boolean }) {
|
||||||
await nextTick();
|
|
||||||
messageTimestamps.value[message.uuid] = uuidToTimestamp(message.uuid);
|
messageTimestamps.value[message.uuid] = uuidToTimestamp(message.uuid);
|
||||||
console.log("message:", message.message);
|
console.log("message:", message.message);
|
||||||
console.log("author:", message.user.username, `(${message.user.uuid})`);
|
console.log("author:", message.user.username, `(${message.user.uuid})`);
|
||||||
|
@ -138,7 +137,7 @@ if (accessToken && apiBase) {
|
||||||
console.log("message uuid:", event.data.uuid);
|
console.log("message uuid:", event.data.uuid);
|
||||||
const parsedData = JSON.parse(event.data);
|
const parsedData = JSON.parse(event.data);
|
||||||
|
|
||||||
await groupMessage(parsedData);
|
groupMessage(parsedData);
|
||||||
console.log("parsed message type:", messagesType.value[parsedData.uuid]);
|
console.log("parsed message type:", messagesType.value[parsedData.uuid]);
|
||||||
console.log("parsed message timestamp:", messageTimestamps.value[parsedData.uuid]);
|
console.log("parsed message timestamp:", messageTimestamps.value[parsedData.uuid]);
|
||||||
messages.value.push(parsedData);
|
messages.value.push(parsedData);
|
||||||
|
@ -171,6 +170,7 @@ onMounted(async () => {
|
||||||
if (messagesElement.value) {
|
if (messagesElement.value) {
|
||||||
scrollToBottom(messagesElement);
|
scrollToBottom(messagesElement);
|
||||||
let fetched = false;
|
let fetched = false;
|
||||||
|
const amount = messages.value.length;
|
||||||
let offset = messages.value.length;
|
let offset = messages.value.length;
|
||||||
messagesElement.value.addEventListener("scroll", async (e) => {
|
messagesElement.value.addEventListener("scroll", async (e) => {
|
||||||
if (e.target) {
|
if (e.target) {
|
||||||
|
@ -180,7 +180,7 @@ onMounted(async () => {
|
||||||
fetched = true;
|
fetched = true;
|
||||||
console.log("scroll height is at 10% or less");
|
console.log("scroll height is at 10% or less");
|
||||||
//console.log("current oldest:", currentOldestMessage);
|
//console.log("current oldest:", currentOldestMessage);
|
||||||
const olderMessages = await fetchMessages(route.params.channelId as string, { amount: 2, offset: offset });
|
const olderMessages = await fetchMessages(route.params.channelId as string, { amount, offset });
|
||||||
if (olderMessages) {
|
if (olderMessages) {
|
||||||
olderMessages.reverse();
|
olderMessages.reverse();
|
||||||
console.log("older messages:", olderMessages);
|
console.log("older messages:", olderMessages);
|
||||||
|
@ -189,10 +189,10 @@ onMounted(async () => {
|
||||||
console.log("old message:", oldMessage);
|
console.log("old message:", oldMessage);
|
||||||
messages.value.unshift(oldMessage);
|
messages.value.unshift(oldMessage);
|
||||||
for (const message of messages.value) {
|
for (const message of messages.value) {
|
||||||
await groupMessage(message);
|
groupMessage(message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
offset += 2;
|
offset += offset;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fetched = false;
|
fetched = false;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue