elk/pages/[[server]]/explore/index.vue

30 lines
1,005 B
Vue
Raw Normal View History

<script setup lang="ts">
import { STORAGE_KEY_HIDE_EXPLORE_POSTS_TIPS, STORAGE_KEY_LAST_ACCESSED_EXPLORE_ROUTE } from '~~/constants'
2022-12-11 13:52:36 +03:00
2022-12-13 21:44:40 +03:00
const { t } = useI18n()
const route = useRoute()
2022-12-13 21:44:40 +03:00
2024-01-09 11:56:15 +03:00
const paginator = useMastoClient().v1.trends.statuses.list()
2022-12-11 13:52:36 +03:00
const hideNewsTips = useLocalStorage(STORAGE_KEY_HIDE_EXPLORE_POSTS_TIPS, false)
2022-12-13 21:44:40 +03:00
useHydratedHead({
title: () => `${t('tab.posts')} | ${t('nav.explore')}`,
2022-12-13 21:44:40 +03:00
})
const lastAccessedExploreRoute = useLocalStorage(STORAGE_KEY_LAST_ACCESSED_EXPLORE_ROUTE, '')
lastAccessedExploreRoute.value = route.path.replace(/(.*\/explore\/?)/, '')
onActivated(() => {
lastAccessedExploreRoute.value = route.path.replace(/(.*\/explore\/?)/, '')
})
2022-12-11 13:52:36 +03:00
</script>
<template>
<CommonAlert v-if="isHydrated && !hideNewsTips" @close="hideNewsTips = true">
2022-12-11 13:52:36 +03:00
<p>{{ $t('tooltip.explore_posts_intro') }}</p>
</CommonAlert>
<!-- TODO: Tabs for trending statuses, tags, and links -->
<TimelinePaginator v-if="isHydrated" :paginator="paginator" context="public" />
2022-12-11 13:52:36 +03:00
</template>