From 42bf912bb91ad98b2dabe9be705bf33457d75e7e Mon Sep 17 00:00:00 2001 From: Natty Date: Wed, 3 Jan 2024 03:35:41 +0100 Subject: [PATCH] Frontend: Fixed pagination queuing behavior --- .../client/src/components/MkPagination.vue | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/fe_calckey/frontend/client/src/components/MkPagination.vue b/fe_calckey/frontend/client/src/components/MkPagination.vue index 78d89b8..a3fab55 100644 --- a/fe_calckey/frontend/client/src/components/MkPagination.vue +++ b/fe_calckey/frontend/client/src/components/MkPagination.vue @@ -82,7 +82,6 @@ import { } from "@/scripts/scroll"; import MkButton from "@/components/MkButton.vue"; import { magTransProperty } from "@/scripts-mag/mag-util"; -import { i18n } from "@/i18n"; export type Paging< E extends keyof misskey.Endpoints = keyof misskey.Endpoints @@ -296,20 +295,19 @@ const prepend = (item: Item): void => { if (isTop) { // Prepend the item - items.value.unshift(item); - items.value = items.value.slice(0, props.displayLimit); + items.value = [item, ...items.value].slice(0, props.displayLimit); } else { if (!queue.value.length) { onScrollTop(rootEl.value, () => { - for (const queueItem of queue.value) { - prepend(queueItem); - } + items.value = [ + ...queue.value.reverse(), + ...items.value, + ].slice(0, props.displayLimit); queue.value = []; }); } - queue.value.push(item); - queue.value = queue.value.slice(0, props.displayLimit); + queue.value = [...queue.value, item].slice(-props.displayLimit); } } };