feat: add not found for user pages

zio/stable
三咲智子 2022-11-24 01:16:10 +08:00
parent ae6552fee0
commit a473cc2de5
No known key found for this signature in database
GPG Key ID: 69992F2250DFD93E
5 changed files with 46 additions and 22 deletions

View File

@ -0,0 +1,8 @@
<template>
<div flex="~ col" items-center>
<div i-ri:forbid-line text-10 mt10 mb2 />
<div text-lg>
<slot>Not found</slot>
</div>
</div>
</template>

View File

@ -29,9 +29,7 @@ const { data: context } = await useAsyncData(`${id}-context`, () => masto.status
</template> </template>
</template> </template>
<template> <CommonNotFound v-else>
<div>
Status not found Status not found
</div> </CommonNotFound>
</template>
</template> </template>

View File

@ -2,13 +2,19 @@
const params = useRoute().params const params = useRoute().params
const user = $computed(() => params.user as string) const user = $computed(() => params.user as string)
const { data: account } = await useAsyncData(`${user}:info`, () => masto.accounts.lookup({ acct: user })) const { data: account } = $(await useAsyncData(`${user}:info`, () => masto.accounts.lookup({ acct: user })))
const paginator = masto.accounts.getFollowersIterable(account.value!.id!, {}) const paginator = account ? masto.accounts.getFollowersIterable(account!.id!, {}) : null
</script> </script>
<template> <template>
<template v-if="account">
<div> <div>
<AccountHeader :account="account" /> <AccountHeader :account="account" />
</div> </div>
<AccountPaginator :paginator="paginator" /> <AccountPaginator :paginator="paginator" />
</template> </template>
<CommonNotFound v-else>
Account @{{ params.user }} not found
</CommonNotFound>
</template>

View File

@ -2,13 +2,19 @@
const params = useRoute().params const params = useRoute().params
const user = $computed(() => params.user as string) const user = $computed(() => params.user as string)
const { data: account } = await useAsyncData(`${user}:info`, () => masto.accounts.lookup({ acct: user })) const { data: account } = $(await useAsyncData(`${user}:info`, () => masto.accounts.lookup({ acct: user })))
const paginator = masto.accounts.getFollowingIterable(account.value!.id!, {}) const paginator = account ? masto.accounts.getFollowingIterable(account!.id!, {}) : null
</script> </script>
<template> <template>
<template v-if="account">
<div> <div>
<AccountHeader :account="account" /> <AccountHeader :account="account" />
</div> </div>
<AccountPaginator :paginator="paginator" /> <AccountPaginator :paginator="paginator" />
</template> </template>
<CommonNotFound v-else>
Account @{{ params.user }} not found
</CommonNotFound>
</template>

View File

@ -19,9 +19,15 @@ const paginator = $computed(() => {
</script> </script>
<template> <template>
<template v-if="account">
<div> <div>
<AccountHeader :account="account" /> <AccountHeader :account="account" />
</div> </div>
<CommonTabs v-model="tab" :options="tabNames" /> <CommonTabs v-model="tab" :options="tabNames" />
<TimelinePaginator :key="tab" :paginator="paginator" /> <TimelinePaginator :key="tab" :paginator="paginator" />
</template> </template>
<CommonNotFound v-else>
Account @{{ params.user }} not found
</CommonNotFound>
</template>