diff --git a/src/components/profile/ProfileAvatar.tsx b/src/components/profile/ProfileAvatar.tsx
index 27df945..c2e46d1 100644
--- a/src/components/profile/ProfileAvatar.tsx
+++ b/src/components/profile/ProfileAvatar.tsx
@@ -7,6 +7,7 @@ type ProfileAvatarProps = {
miniDoc: MiniDoc
profile: Profile
bskyProfile?: AppBskyActorProfile.Main | null
+ avatarUrl?: string | null
size?: 'small' | 'medium'
}
@@ -14,16 +15,18 @@ export function ProfileAvatar({
miniDoc,
profile,
bskyProfile,
+ avatarUrl,
size = 'medium',
}: ProfileAvatarProps) {
const avatar = profile.value.avatar ?? bskyProfile?.avatar
- const avatarUrl = avatar ? getAvatarUrl(miniDoc.did, avatar) : null
+ const resolvedAvatarUrl =
+ avatarUrl === undefined ? (avatar ? getAvatarUrl(miniDoc.did, avatar) : null) : avatarUrl
const sizeClass = size === 'small' ? 'size-8 text-sm' : 'size-16 text-xl'
- if (avatarUrl) {
+ if (resolvedAvatarUrl) {
return (
diff --git a/src/components/vouch/VouchList.tsx b/src/components/vouch/VouchList.tsx
index 8a3228d..bc206b7 100644
--- a/src/components/vouch/VouchList.tsx
+++ b/src/components/vouch/VouchList.tsx
@@ -1,18 +1,16 @@
import { parseResourceUri, type Did } from '@atcute/lexicons'
import { isDid } from '@atcute/lexicons/syntax'
import { useEffect, useState } from 'react'
-import { getProfile as getBskyProfile } from '../../lib/bsky/actor'
-import { getMiniDoc } from '../../lib/microcosm'
-import { getProfile } from '../../lib/tangled'
+import { resolveActor, type ResolvedActor } from '../../lib/actor'
import type { VouchRecord } from '../../lib/tangled/graph'
-import { VouchListItem, type VouchAuthor } from './VouchListItem'
+import { VouchListItem } from './VouchListItem'
type VouchListProps = {
vouches: VouchRecord[]
}
export function VouchList({ vouches }: VouchListProps) {
- const [authors, setAuthors] = useState