feat: show skeleton loaders while ATProto identity resolves

- Show skeleton in PublicNoteView and StackedPublicNote while note
  content is pending author resolution
- Show skeleton h1 in PublicNoteListByDidView while author loads
- Show skeleton in SignInAtproto until auth state is known
- Load cached session from IndexedDB before OAuth restore so the
  homepage resolves immediately without waiting for network
This commit is contained in:
Julien Calixte
2026-03-19 18:12:52 +01:00
parent 52561496b4
commit ddabe5082d
5 changed files with 20 additions and 12 deletions

View File

@@ -11,6 +11,7 @@ import { withATProtoImages } from "@/modules/atproto/withATProtoImages"
import { getAuthor } from "@/modules/atproto/getAuthor"
import { fromShortDid } from "@/modules/atproto/shortDid"
import { PublicNoteRecord } from "@/modules/atproto/publicNote.types"
import SkeletonLoader from "@/components/SkeletonLoader.vue"
const props = defineProps<{
didrkey: string
@@ -99,7 +100,8 @@ watch(
<div v-if="noteNotFound" class="alert alert-error">
This note no longer exists.
</div>
<div class="note-content" v-else v-html="content"></div>
<div class="note-content" v-else-if="content" v-html="content"></div>
<skeleton-loader v-else-if="!noteNotFound" />
</section>
</div>
</template>