refactor: ♻️ Rewrite authentication page

This commit is contained in:
Jesse Wierzbinski 2024-12-02 17:20:27 +01:00
parent 1194bc4ffb
commit c483f35b99
No known key found for this signature in database
26 changed files with 373 additions and 797 deletions

View file

@ -1,16 +1,25 @@
<template>
<ErrorBoundary>
<div class="mx-auto max-w-2xl w-full space-y-2">
<TimelineScroller v-if="account">
<AccountProfile :account="account" />
<AccountTimeline v-if="accountId" :id="accountId" :key="accountId" />
</TimelineScroller>
<div class="mx-auto max-w-2xl w-full space-y-2">
<div v-if="isLoading" class="p-4 flex items-center justify-center h-48">
<Loader class="size-8 animate-spin" />
</div>
</ErrorBoundary>
<TimelineScroller v-else-if="account">
<AccountProfile :account="account" />
<AccountTimeline v-if="accountId" :id="accountId" :key="accountId" />
</TimelineScroller>
<Card v-else class="shadow-none bg-transparent border-none p-4">
<CardHeader class="text-center gap-y-4">
<CardTitle class="text-">Account not found.</CardTitle>
<CardDescription>
Check for typos or try again later.
</CardDescription>
</CardHeader>
</Card>
</div>
</template>
<script setup lang="ts">
import ErrorBoundary from "~/components/errors/ErrorBoundary.vue";
import { Loader } from "lucide-vue-next";
import AccountProfile from "~/components/profiles/profile.vue";
import AccountTimeline from "~/components/timelines/account.vue";
import TimelineScroller from "~/components/timelines/timeline-scroller.vue";
@ -24,7 +33,7 @@ const username = (route.params.username as string).startsWith("@")
? (route.params.username as string).substring(1)
: (route.params.username as string);
const account = useAccountFromAcct(client, username);
const { account, isLoading } = useAccountFromAcct(client, username);
const accountId = computed(() => account.value?.id ?? undefined);
useServerSeoMeta({