2022-11-13 16:05:32 +00:00
|
|
|
<script setup lang="ts">
|
|
|
|
const params = useRoute().params
|
2022-11-27 17:34:45 +00:00
|
|
|
const accountName = $(computedEager(() => toShortHandle(params.account as string)))
|
2022-11-20 21:38:52 +00:00
|
|
|
|
2022-11-28 14:25:32 +00:00
|
|
|
const { t } = useI18n()
|
|
|
|
|
2022-11-27 17:34:45 +00:00
|
|
|
const { data: account, refresh } = $(await useAsyncData(() => fetchAccountByName(accountName).catch(() => null)))
|
2022-11-20 21:38:52 +00:00
|
|
|
|
2022-11-25 23:49:56 +00:00
|
|
|
if (account) {
|
|
|
|
useHead({
|
2022-11-26 15:06:30 +00:00
|
|
|
title: () => `${getDisplayName(account)} (@${account.acct})`,
|
2022-11-25 23:49:56 +00:00
|
|
|
})
|
|
|
|
}
|
2022-11-27 17:34:45 +00:00
|
|
|
|
|
|
|
onReactivated(() => {
|
|
|
|
// Silently update data when reentering the page
|
|
|
|
// The user will see the previous content first, and any changes will be updated to the UI when the request is completed
|
|
|
|
refresh()
|
|
|
|
})
|
2022-11-13 16:05:32 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2022-11-26 12:58:10 +00:00
|
|
|
<MainContent back>
|
|
|
|
<template #title>
|
2022-11-28 14:25:32 +00:00
|
|
|
<span text-lg font-bold>{{ account ? getDisplayName(account) : t('nav_side.profile') }}</span>
|
2022-11-26 12:58:10 +00:00
|
|
|
</template>
|
|
|
|
|
2022-11-25 23:49:56 +00:00
|
|
|
<template v-if="account">
|
|
|
|
<AccountHeader :account="account" border="b base" />
|
|
|
|
<NuxtPage />
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<CommonNotFound v-else>
|
|
|
|
Account @{{ accountName }} not found
|
|
|
|
</CommonNotFound>
|
|
|
|
</MainContent>
|
2022-11-13 16:05:32 +00:00
|
|
|
</template>
|