-80
git_diff.txt
-80
git_diff.txt
···
1
-
diff --git a/src/lib/components/layout/main/card/ProfileCard.svelte b/src/lib/components/layout/main/card/ProfileCard.svelte
2
-
index dc23db8..5d6f030 100644
3
-
--- a/src/lib/components/layout/main/card/ProfileCard.svelte
4
-
+++ b/src/lib/components/layout/main/card/ProfileCard.svelte
5
-
@@ -112,6 +112,9 @@
6
-
{safeProfile.displayName || safeProfile.handle}
7
-
</h2>
8
-
<p class="font-medium text-ink-700 dark:text-ink-200">@{safeProfile.handle}</p>
9
-
+ {#if safeProfile.pronouns}
10
-
+ <p class="text-sm italic text-ink-600 dark:text-ink-300">{safeProfile.pronouns}</p>
11
-
+ {/if}
12
-
13
-
{#if safeProfile.description}
14
-
<p
15
-
diff --git a/src/lib/services/atproto/fetch.ts b/src/lib/services/atproto/fetch.ts
16
-
index c719682..853a0c2 100644
17
-
--- a/src/lib/services/atproto/fetch.ts
18
-
+++ b/src/lib/services/atproto/fetch.ts
19
-
@@ -40,6 +40,31 @@ export async function fetchProfile(fetchFn?: typeof fetch): Promise<ProfileData>
20
-
fetchFn
21
-
);
22
-
23
-
+ // Fetch the actual profile record to get pronouns and other fields
24
-
+ // The profile view doesn't include pronouns, so we need the record
25
-
+ let pronouns: string | undefined;
26
-
+ try {
27
-
+ console.debug('[Profile] Attempting to fetch profile record for pronouns');
28
-
+ const recordResponse = await withFallback(
29
-
+ PUBLIC_ATPROTO_DID,
30
-
+ async (agent) => {
31
-
+ const response = await agent.com.atproto.repo.getRecord({
32
-
+ repo: PUBLIC_ATPROTO_DID,
33
-
+ collection: 'app.bsky.actor.profile',
34
-
+ rkey: 'self'
35
-
+ });
36
-
+ return response.data;
37
-
+ },
38
-
+ false,
39
-
+ fetchFn
40
-
+ );
41
-
+ pronouns = (recordResponse.value as any).pronouns;
42
-
+ console.debug('[Profile] Successfully fetched pronouns:', pronouns);
43
-
+ } catch (error) {
44
-
+ console.debug('[Profile] Could not fetch profile record for pronouns:', error);
45
-
+ // Continue without pronouns if record fetch fails
46
-
+ }
47
-
+
48
-
const data: ProfileData = {
49
-
did: profile.did,
50
-
handle: profile.handle,
51
-
@@ -49,7 +74,8 @@ export async function fetchProfile(fetchFn?: typeof fetch): Promise<ProfileData>
52
-
banner: profile.banner,
53
-
followersCount: profile.followersCount,
54
-
followsCount: profile.followsCount,
55
-
- postsCount: profile.postsCount
56
-
+ postsCount: profile.postsCount,
57
-
+ pronouns: pronouns
58
-
};
59
-
60
-
console.info('[Profile] Successfully fetched profile data');
61
-
diff --git a/src/lib/services/atproto/types.ts b/src/lib/services/atproto/types.ts
62
-
index f4d4b16..37440f6 100644
63
-
--- a/src/lib/services/atproto/types.ts
64
-
+++ b/src/lib/services/atproto/types.ts
65
-
@@ -12,6 +12,7 @@ export interface ProfileData {
66
-
followersCount?: number;
67
-
followsCount?: number;
68
-
postsCount?: number;
69
-
+ pronouns?: string;
70
-
}
71
-
72
-
export interface StatusData {
73
-
@@ -150,6 +151,7 @@ export interface PostAuthor {
74
-
handle: string;
75
-
displayName?: string;
76
-
avatar?: string;
77
-
+ pronouns?: string;
78
-
}
79
-
80
-
export interface BlueskyPost {