|
3 | 3 | import Image from 'next/image'; |
4 | 4 | import Link from 'next/link'; |
5 | 5 | import QRCodeButton from './QRCodeButton'; |
| 6 | +import BlueskyStats from './BlueskyStats/BlueskyStats'; |
6 | 7 | import { normalizeDOI } from '@/lib/data/doi'; |
7 | 8 | import { formatDateUS, formatDisplayURL, formatWorkType } from '@/lib/utils'; |
8 | 9 | import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; |
@@ -42,6 +43,9 @@ interface ProfileViewProps { |
42 | 43 | city?: string; |
43 | 44 | country?: string; |
44 | 45 | }; |
| 46 | + followersCount?: number; |
| 47 | + followsCount?: number; |
| 48 | + postsCount?: number; |
45 | 49 | }; |
46 | 50 | affiliations: (Affiliation & { rkey: string; uri: string })[]; |
47 | 51 | qualifications: (Qualification & { rkey: string; uri: string })[]; |
@@ -140,9 +144,15 @@ export default function ProfileView({ |
140 | 144 | > |
141 | 145 | @{profile.handle} |
142 | 146 | </a> |
| 147 | + <BlueskyStats |
| 148 | + handle={profile.handle} |
| 149 | + followersCount={profile.followersCount} |
| 150 | + followsCount={profile.followsCount} |
| 151 | + postsCount={profile.postsCount} |
| 152 | + /> |
143 | 153 | {profile.location && |
144 | 154 | (profile.location.city || profile.location.country) && ( |
145 | | - <div className="flex items-center gap-1 text-sm text-foreground"> |
| 155 | + <div className="flex items-center gap-1 text-foreground"> |
146 | 156 | <MapPin className="h-4 w-4" /> |
147 | 157 | <span className="leading-normal"> |
148 | 158 | {profile.location.city && `${profile.location.city}, `} |
|
0 commit comments