diff --git a/components/notification/NotificationPaginator.vue b/components/notification/NotificationPaginator.vue index 6f7a00e0..e65cd924 100644 --- a/components/notification/NotificationPaginator.vue +++ b/components/notification/NotificationPaginator.vue @@ -4,11 +4,14 @@ import { DynamicScrollerItem } from 'vue-virtual-scroller' import type { Paginator, WsEvents, mastodon } from 'masto' import type { GroupedAccountLike, NotificationSlot } from '~/types' -const { paginator, stream } = defineProps<{ +const { path, paginator, stream } = defineProps<{ + path: string paginator: Paginator stream?: Promise }>() +const nuxtApp = useNuxtApp() + const virtualScroller = false // TODO: fix flickering issue with virtual scroll const groupCapacity = Number.MAX_VALUE // No limit @@ -113,6 +116,10 @@ function groupItems(items: mastodon.v1.Notification[]): NotificationSlot[] { // Finalize remaining groups processGroup() + nextTick().then(() => { + nuxtApp.$trackScroll.restoreCustomPageScroll() + }) + return results } @@ -146,6 +153,10 @@ function preprocess(items: NotificationSlot[]): NotificationSlot[] { const { clearNotifications } = useNotifications() const { formatNumber } = useHumanReadableNumber() + +onMounted(() => { + nuxtApp.$trackScroll.registerCustomRoute(path) +})