From 4f3a06592793e08bb98c8791dd8c4f2b151d1241 Mon Sep 17 00:00:00 2001 From: patak Date: Tue, 27 Dec 2022 18:47:05 +0100 Subject: [PATCH] feat: connected replies in home (#572) --- components/common/CommonPaginator.vue | 11 ++++++++--- components/timeline/TimelineHome.vue | 19 ++++++++++++++++++- components/timeline/TimelinePaginator.vue | 19 +++++++++++++++---- composables/paginator.ts | 9 +++++++-- 4 files changed, 48 insertions(+), 10 deletions(-) diff --git a/components/common/CommonPaginator.vue b/components/common/CommonPaginator.vue index ad106717..869ca6c5 100644 --- a/components/common/CommonPaginator.vue +++ b/components/common/CommonPaginator.vue @@ -4,18 +4,21 @@ import { DynamicScroller } from 'vue-virtual-scroller' import 'vue-virtual-scroller/dist/vue-virtual-scroller.css' import type { Paginator, WsEvents } from 'masto' -const { paginator, stream, keyProp = 'id', virtualScroller = false, eventType = 'update' } = defineProps<{ +const { paginator, stream, keyProp = 'id', virtualScroller = false, eventType = 'update', preprocess } = defineProps<{ paginator: Paginator keyProp?: string virtualScroller?: boolean stream?: WsEvents eventType?: 'notification' | 'update' + preprocess?: (items: any[]) => any[] }>() defineSlots<{ default: { item: any active?: boolean + older?: any + newer?: any } updater: { number: number @@ -24,7 +27,7 @@ defineSlots<{ loading: {} }>() -const { items, prevItems, update, state, endAnchor, error } = usePaginator(paginator, stream, eventType) +const { items, prevItems, update, state, endAnchor, error } = usePaginator(paginator, stream, eventType, preprocess) diff --git a/components/timeline/TimelineHome.vue b/components/timeline/TimelineHome.vue index c9792b9b..22b60178 100644 --- a/components/timeline/TimelineHome.vue +++ b/components/timeline/TimelineHome.vue @@ -1,12 +1,29 @@ diff --git a/components/timeline/TimelinePaginator.vue b/components/timeline/TimelinePaginator.vue index 231935b5..d064c137 100644 --- a/components/timeline/TimelinePaginator.vue +++ b/components/timeline/TimelinePaginator.vue @@ -8,26 +8,37 @@ const { paginator, stream } = defineProps<{ paginator: Paginator stream?: WsEvents context?: FilterContext + preprocess?: (items: any[]) => any[] }>() const virtualScroller = $(computedEager(() => useFeatureFlags().experimentalVirtualScroll))