727d05915f
* fix: rtl arrows on settings page * fix: border on settings page for RTL languages * fix: RTL fixes for logo, search box and logout icon * fix: RTL layout bugs in conversations * chore: remove rtl setting icon * improve arabic locale * add new entries to arabic locale * chore: include number format * fix: RTL layout on several pages * fix: RTL layout of account header and sign in modal * fix: always display account handle in LTR * fix: move character counter in publish widget to left side for RTL * fix: remove border-ss-none unocss rule * fix: many RTL fixes * fix: RTL fixes for many pages * fix: use viewer's direction in all content * chore: use new arabic plural rules * chore: flip arrow on main content header * chore: fix StatusPoll and show_new_items for zh-TW * chore: StatusPoll tooltip on bottom * chore: add `en` variants to i18n conf * chore: update entry to use new plural rule * fix: automatic content direction for status * fix: direction for account handle * fix: direction of polls Co-authored-by: userquin <userquin@gmail.com> Co-authored-by: Jean-Paul Khawam <jeanpaulkhawam@protonmail.com> Co-authored-by: Daniel Roe <daniel@roe.dev>
37 lines
1.4 KiB
Vue
37 lines
1.4 KiB
Vue
<script setup lang="ts">
|
|
// @ts-expect-error missing types
|
|
import { DynamicScrollerItem } from 'vue-virtual-scroller'
|
|
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css'
|
|
import type { FilterContext, Paginator, Status, WsEvents } from 'masto'
|
|
|
|
const { paginator, stream } = defineProps<{
|
|
paginator: Paginator<any, Status[]>
|
|
stream?: Promise<WsEvents>
|
|
context?: FilterContext
|
|
preprocess?: (items: any[]) => any[]
|
|
}>()
|
|
|
|
const { formatNumber } = useHumanReadableNumber()
|
|
const virtualScroller = $(computedEager(() => useFeatureFlags().experimentalVirtualScroll))
|
|
</script>
|
|
|
|
<template>
|
|
<CommonPaginator v-bind="{ paginator, stream, preprocess }" :virtual-scroller="virtualScroller">
|
|
<template #updater="{ number, update }">
|
|
<button py-4 border="b base" flex="~ col" p-3 w-full text-primary font-bold @click="update">
|
|
{{ $t('timeline.show_new_items', number, { named: { v: formatNumber(number) } }) }}
|
|
</button>
|
|
</template>
|
|
<template #default="{ item, older, newer, active }">
|
|
<template v-if="virtualScroller">
|
|
<DynamicScrollerItem :item="item" :active="active" tag="article">
|
|
<StatusCard :status="item" :context="context" :older="older" :newer="newer" />
|
|
</DynamicScrollerItem>
|
|
</template>
|
|
<template v-else>
|
|
<StatusCard :status="item" :context="context" :older="older" :newer="newer" />
|
|
</template>
|
|
</template>
|
|
</CommonPaginator>
|
|
</template>
|