From c995eb2f2fa3e73dcc6943078c85cd6a68f5370b Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Tue, 4 Mar 2025 13:54:19 +0000 Subject: DMs inbox (#7778) * improve error screen * add chat request prompt * mock up inbox * bigger button * use two-button layout * get inbox working somewhat * fix type errors * fetch both pages for badge * don't include read convos in preview * in-chat ui for non-accepted convos (part 1) * add chatstatusinfo * fix status info not disappearing * get chat status info working * change min item height * move files around * add updated sdk * improve badge behaviour * mock up mark all as read * update sdk to 0.14.4 * hide chat status info if initiating convo * fix unread count for deleted accounts * add toasts after rejection * add prompt to delete * adjust badge on desktop * requests -> chat requests * fix height flicker * add mark as read button to header * add mark all as read APIs * separate avatarstack into two components (#7845) * fix messages being hidden behind chatstatusinfo * show inbox preview on empty state * fix empty state again * Use new convo availability API (#7812) * [Inbox] Accept button on convo screen (#7795) * accept button on convo screen * fix types * fix type error * improve spacing * [DMs] Implement new log types (#7835) * optimise badge state * add read message log * add isLogAcceptConvo * mute/unmute convo logs * use setqueriesdata * always show label on button * optimistically update badge * change incorrect unread count change * Update src/screens/Messages/Inbox.tsx Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> * Update src/screens/Messages/components/RequestButtons.tsx Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> * Update src/screens/Messages/components/RequestButtons.tsx Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> * Update src/screens/Messages/components/RequestListItem.tsx Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> * fix race condition with accepting convo * fix back button on web * filter left convos from badge * update atproto to fix CI * Add accept override external to convo (#7891) * Add accept override external to convo * rm log --------- Co-authored-by: Samuel Newman --------- Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com> Co-authored-by: Eric Bailey --- src/components/KnownFollowers.tsx | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'src/components/KnownFollowers.tsx') diff --git a/src/components/KnownFollowers.tsx b/src/components/KnownFollowers.tsx index 1e7cf448a..a883066ca 100644 --- a/src/components/KnownFollowers.tsx +++ b/src/components/KnownFollowers.tsx @@ -33,11 +33,13 @@ export function KnownFollowers({ moderationOpts, onLinkPress, minimal, + showIfEmpty, }: { profile: bsky.profile.AnyProfileView moderationOpts: ModerationOpts onLinkPress?: LinkProps['onPress'] minimal?: boolean + showIfEmpty?: boolean }) { const cache = React.useRef>( new Map(), @@ -64,11 +66,12 @@ export function KnownFollowers({ moderationOpts={moderationOpts} onLinkPress={onLinkPress} minimal={minimal} + showIfEmpty={showIfEmpty} /> ) } - return null + return } function KnownFollowersInner({ @@ -77,22 +80,19 @@ function KnownFollowersInner({ cachedKnownFollowers, onLinkPress, minimal, + showIfEmpty, }: { profile: bsky.profile.AnyProfileView moderationOpts: ModerationOpts cachedKnownFollowers: AppBskyActorDefs.KnownFollowers onLinkPress?: LinkProps['onPress'] minimal?: boolean + showIfEmpty?: boolean }) { const t = useTheme() const {_} = useLingui() - const textStyle = [ - a.flex_1, - a.text_sm, - a.leading_snug, - t.atoms.text_contrast_medium, - ] + const textStyle = [a.text_sm, a.leading_snug, t.atoms.text_contrast_medium] const slice = cachedKnownFollowers.followers.slice(0, 3).map(f => { const moderation = moderateProfile(f, moderationOpts) @@ -115,7 +115,7 @@ function KnownFollowersInner({ * We check above too, but here for clarity and a reminder to _check for * valid indices_ */ - if (slice.length === 0) return null + if (slice.length === 0) return const SIZE = minimal ? AVI_SIZE_SMALL : AVI_SIZE @@ -127,7 +127,6 @@ function KnownFollowersInner({ onPress={onLinkPress} to={makeProfileLink(profile, 'known-followers')} style={[ - a.flex_1, a.flex_row, minimal ? a.gap_sm : a.gap_md, a.align_center, @@ -243,3 +242,15 @@ function KnownFollowersInner({ ) } + +function EmptyFallback({show}: {show?: boolean}) { + const t = useTheme() + + if (!show) return null + + return ( + + Not followed by anyone you're following + + ) +} -- cgit 1.4.1