From 1b77f0d2b24e24f648fa09388e5265b0b806bd98 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Mon, 28 Apr 2025 20:20:48 +0900 Subject: [PATCH] Update use-pagination.ts --- packages/frontend/src/use/use-pagination.ts | 31 +++++++-------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/packages/frontend/src/use/use-pagination.ts b/packages/frontend/src/use/use-pagination.ts index a0773ae932..e6943f4e94 100644 --- a/packages/frontend/src/use/use-pagination.ts +++ b/packages/frontend/src/use/use-pagination.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { computed, isRef, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onDeactivated, onUnmounted, ref, watch } from 'vue'; +import { computed, isRef, ref, watch } from 'vue'; import * as Misskey from 'misskey-js'; import type { ComputedRef, Ref, ShallowRef } from 'vue'; import { misskeyApi } from '@/utility/misskey-api.js'; @@ -162,35 +162,23 @@ export function usePagination(props: { }); }; - /** - * 新着アイテムをitemsの先頭に追加し、MAX_ITEMSを適用する - * @param newItems 新しいアイテムの配列 - */ - function unshiftItems(newItems: MisskeyEntity[]) { - const length = newItems.length + items.value.size; - items.value = new Map([...arrayToEntries(newItems), ...items.value].slice(0, MAX_ITEMS)); - - if (length >= MAX_ITEMS) canFetchMore.value = true; + function trim() { + if (items.value.size >= MAX_ITEMS) canFetchMore.value = true; + items.value = new Map([...items.value].slice(0, MAX_ITEMS)); } - /** - * 古いアイテムをitemsの末尾に追加し、MAX_ITEMSを適用する - * @param oldItems 古いアイテムの配列 - */ - function concatItems(oldItems: MisskeyEntity[]) { - const length = oldItems.length + items.value.size; - items.value = new Map([...items.value, ...arrayToEntries(oldItems)].slice(0, MAX_ITEMS)); + function unshiftItems(newItems: MisskeyEntity[]) { + items.value = new Map([...arrayToEntries(newItems), ...items.value]); + } - if (length >= MAX_ITEMS) canFetchMore.value = true; + function concatItems(oldItems: MisskeyEntity[]) { + items.value = new Map([...items.value, ...arrayToEntries(oldItems)]); } function prepend(item: MisskeyEntity) { unshiftItems([item]); } - /* - * アイテムを末尾に追加する(使うの?) - */ const appendItem = (item: MisskeyEntity): void => { items.value.set(item.id, item); }; @@ -215,6 +203,7 @@ export function usePagination(props: { fetchMoreAhead, unshiftItems, prepend, + trim, error, }; }