forked from Mirrors/elk
38 lines
1.1 KiB
Vue
38 lines
1.1 KiB
Vue
<script lang="ts" setup>
|
|
import { STORAGE_KEY_LAST_ACCESSED_EXPLORE_ROUTE } from '~/constants'
|
|
|
|
const { t } = useI18n()
|
|
const route = useRoute()
|
|
|
|
// limit: 20 is the default configuration of the official client
|
|
const paginator = useMastoClient().v2.suggestions.list({ limit: 20 })
|
|
|
|
useHydratedHead({
|
|
title: () => `${t('tab.for_you')} | ${t('nav.explore')}`,
|
|
})
|
|
|
|
const lastAccessedExploreRoute = useLocalStorage(STORAGE_KEY_LAST_ACCESSED_EXPLORE_ROUTE, '')
|
|
lastAccessedExploreRoute.value = route.path.replace(/(.*\/explore\/?)/, '')
|
|
|
|
onActivated(() => {
|
|
lastAccessedExploreRoute.value = route.path.replace(/(.*\/explore\/?)/, '')
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<CommonPaginator :paginator="paginator" key-prop="account">
|
|
<template #default="{ item }">
|
|
<AccountBigCard
|
|
:account="item.account"
|
|
as="router-link"
|
|
:to="getAccountRoute(item.account)"
|
|
border="b base"
|
|
/>
|
|
</template>
|
|
<template #loading>
|
|
<AccountBigCardSkeleton border="b base" />
|
|
<AccountBigCardSkeleton border="b base" op50 />
|
|
<AccountBigCardSkeleton border="b base" op25 />
|
|
</template>
|
|
</CommonPaginator>
|
|
</template>
|