mirror of
https://github.com/elk-zone/elk
synced 2024-12-24 03:28:00 +09:00
30 lines
805 B
Vue
30 lines
805 B
Vue
|
<script setup lang="ts">
|
||
|
import type { Account } from 'masto'
|
||
|
|
||
|
definePageMeta({ name: 'account-media' })
|
||
|
|
||
|
const { t } = useI18n()
|
||
|
const params = useRoute().params
|
||
|
const handle = $(computedEager(() => params.account as string))
|
||
|
|
||
|
const { data: account } = await useAsyncData(`account:${handle}`, async () => (
|
||
|
window.history.state?.account as Account | undefined)
|
||
|
?? await fetchAccountByHandle(handle),
|
||
|
)
|
||
|
|
||
|
const paginator = useMasto().accounts.iterateStatuses(account.value!.id, { onlyMedia: true, excludeReplies: false })
|
||
|
|
||
|
if (account) {
|
||
|
useHeadFixed({
|
||
|
title: () => `${t('tab.media')} | ${getDisplayName(account.value!)} (@${account.value!.acct})`,
|
||
|
})
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<template>
|
||
|
<div>
|
||
|
<AccountTabs />
|
||
|
<TimelinePaginator :paginator="paginator" context="account" />
|
||
|
</div>
|
||
|
</template>
|