2022-12-11 10:52:36 +00:00
|
|
|
<script lang="ts" setup>
|
2024-03-07 14:33:25 +00:00
|
|
|
import { STORAGE_KEY_HIDE_EXPLORE_NEWS_TIPS, STORAGE_KEY_LAST_ACCESSED_EXPLORE_ROUTE } from '~~/constants'
|
2022-12-13 18:44:40 +00:00
|
|
|
|
|
|
|
const { t } = useI18n()
|
2024-03-07 14:33:25 +00:00
|
|
|
const route = useRoute()
|
2022-12-13 18:44:40 +00:00
|
|
|
|
2024-01-09 08:56:15 +00:00
|
|
|
const paginator = useMastoClient().v1.trends.links.list()
|
2022-12-11 10:52:36 +00:00
|
|
|
|
|
|
|
const hideNewsTips = useLocalStorage(STORAGE_KEY_HIDE_EXPLORE_NEWS_TIPS, false)
|
2022-12-13 18:44:40 +00:00
|
|
|
|
2023-04-16 19:33:51 +00:00
|
|
|
useHydratedHead({
|
2023-01-11 23:08:31 +00:00
|
|
|
title: () => `${t('tab.news')} | ${t('nav.explore')}`,
|
2022-12-13 18:44:40 +00:00
|
|
|
})
|
2024-03-07 14:33:25 +00: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 10:52:36 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2023-01-01 20:43:09 +00:00
|
|
|
<CommonAlert v-if="isHydrated && !hideNewsTips" @close="hideNewsTips = true">
|
2022-12-11 10:52:36 +00:00
|
|
|
<p>{{ $t('tooltip.explore_links_intro') }}</p>
|
|
|
|
</CommonAlert>
|
|
|
|
|
|
|
|
<CommonPaginator v-bind="{ paginator }">
|
|
|
|
<template #default="{ item }">
|
|
|
|
<StatusPreviewCard :card="item" border="!b base" rounded="!none" p="!4" small-picture-only root />
|
|
|
|
</template>
|
|
|
|
<template #loading>
|
|
|
|
<StatusPreviewCardSkeleton square root border="b base" />
|
|
|
|
<StatusPreviewCardSkeleton square root border="b base" op50 />
|
|
|
|
<StatusPreviewCardSkeleton square root border="b base" op25 />
|
|
|
|
</template>
|
|
|
|
</CommonPaginator>
|
|
|
|
</template>
|