diff --git a/src/lib/AccountComponent.svelte b/src/lib/AccountComponent.svelte
index 880db3f..01ac750 100644
--- a/src/lib/AccountComponent.svelte
+++ b/src/lib/AccountComponent.svelte
@@ -12,10 +12,14 @@
alt="avatar of {account.displayName}"
src="{Config.PDS_URL}/xrpc/com.atproto.sync.getBlob?did={account.did}&cid={account.avatarCid}"
/>
+
+ {account.displayName || account.handle || account.did}
+
+ {:else}
+
+ {account.displayName || account.handle || account.did}
+
{/if}
-
- {account.displayName || account.handle || account.did}
-
@@ -28,6 +32,7 @@
padding: 0px;
margin-bottom: 15px;
border: 1px solid var(--border-color);
+ min-height: 50px;
}
#accountName {
margin-left: 10px;
@@ -39,6 +44,9 @@
text-overflow: ellipsis;
white-space: nowrap;
}
+ .no-avatar {
+ margin-left: 60px !important;
+ }
#avatar {
width: 50px;
height: 50px;
diff --git a/src/lib/pdsfetch.ts b/src/lib/pdsfetch.ts
index 20120fb..d57aff4 100644
--- a/src/lib/pdsfetch.ts
+++ b/src/lib/pdsfetch.ts
@@ -132,7 +132,13 @@ const getDidsFromPDS = async (): Promise => {
const getAccountMetadata = async (
did: `did:${string}:${string}`,
) => {
- // gonna assume self exists in the app.bsky.actor.profile
+ const account: AccountMetadata = {
+ did: did,
+ handle: "", // Guaranteed to be filled out later
+ displayName: "",
+ avatarCid: null,
+ };
+
try {
const { data } = await rpc.get("com.atproto.repo.getRecord", {
params: {
@@ -142,21 +148,22 @@ const getAccountMetadata = async (
},
});
const value = data.value as AppBskyActorProfile.Record;
- const handle = await blueskyHandleFromDid(did);
- const account: AccountMetadata = {
- did: did,
- handle: handle,
- displayName: value.displayName || "",
- avatarCid: null,
- };
+ account.displayName = value.displayName || "";
if (value.avatar) {
account.avatarCid = value.avatar.ref["$link"];
}
- return account;
} catch (e) {
- console.error(`Error fetching metadata for ${did}:`, e);
+ console.warn(`Error fetching profile for ${did}:`, e);
+ }
+
+ try {
+ account.handle = await blueskyHandleFromDid(did);
+ } catch (e) {
+ console.error(`Error fetching handle for ${did}:`, e);
return null;
}
+
+ return account;
};
const getAllMetadataFromPds = async (): Promise => {