From c7e052e672406b894053548a6063e5ec9d7de3c2 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 11 Dec 2024 20:28:07 +0000 Subject: [PATCH] followers exact count in heading --- src/view/screens/ProfileFollowers.tsx | 38 +++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/src/view/screens/ProfileFollowers.tsx b/src/view/screens/ProfileFollowers.tsx index 90c0a57f97..ec31e77af1 100644 --- a/src/view/screens/ProfileFollowers.tsx +++ b/src/view/screens/ProfileFollowers.tsx @@ -1,21 +1,26 @@ import React from 'react' -import {msg} from '@lingui/macro' +import {Trans} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useFocusEffect} from '@react-navigation/native' import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types' -import {isWeb} from '#/platform/detection' +import {sanitizeDisplayName} from '#/lib/strings/display-names' +import {useProfileQuery} from '#/state/queries/profile' +import {useResolveDidQuery} from '#/state/queries/resolve-uri' import {useSetMinimalShellMode} from '#/state/shell' import {ProfileFollowers as ProfileFollowersComponent} from '#/view/com/profile/ProfileFollowers' -import {ViewHeader} from '#/view/com/util/ViewHeader' -import {CenteredView} from '#/view/com/util/Views' import * as Layout from '#/components/Layout' type Props = NativeStackScreenProps export const ProfileFollowersScreen = ({route}: Props) => { const {name} = route.params const setMinimalShellMode = useSetMinimalShellMode() - const {_} = useLingui() + const {i18n} = useLingui() + + const {data: resolvedDid} = useResolveDidQuery(name) + const {data: profile} = useProfileQuery({ + did: resolvedDid, + }) useFocusEffect( React.useCallback(() => { @@ -25,10 +30,27 @@ export const ProfileFollowersScreen = ({route}: Props) => { return ( - - + + + + {profile && ( + <> + + {sanitizeDisplayName(profile.displayName || profile.handle)} + + + + {i18n.number(profile.followersCount ?? 0)} followers + + + + )} + + + + - + ) }