From 5560fe66cc7913b67e77a1a2df947a5553b03e29 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Mon, 28 Nov 2022 11:18:45 +0000 Subject: [PATCH] feat: stream tags, home, and public timelines (#190) --- components/common/CommonPaginator.vue | 12 ++++++--- components/timeline/TimelinePaginator.vue | 12 ++++++--- composables/paginator.ts | 31 ++++++++++++++++++----- pages/home.vue | 4 ++- pages/public/index.vue | 4 ++- pages/public/local.vue | 4 ++- pages/tags/[tag].vue | 4 ++- 7 files changed, 55 insertions(+), 16 deletions(-) diff --git a/components/common/CommonPaginator.vue b/components/common/CommonPaginator.vue index 4b976d65..0fd1b558 100644 --- a/components/common/CommonPaginator.vue +++ b/components/common/CommonPaginator.vue @@ -2,12 +2,13 @@ // @ts-expect-error missing types import { DynamicScroller } from 'vue-virtual-scroller' import 'vue-virtual-scroller/dist/vue-virtual-scroller.css' -import type { Paginator } from 'masto' +import type { Paginator, WsEvents } from 'masto' -const { paginator, keyProp = 'id', virtualScroller = false } = defineProps<{ +const { paginator, stream, keyProp = 'id', virtualScroller = false } = defineProps<{ paginator: Paginator keyProp?: string virtualScroller: boolean + stream?: WsEvents }>() defineSlots<{ @@ -15,14 +16,19 @@ defineSlots<{ item: any active?: boolean } + updater: { + number: number + update: () => void + } loading: {} }>() -const { items, state, endAnchor, error } = usePaginator(paginator) +const { items, prevItems, update, state, endAnchor, error } = usePaginator(paginator, stream)