Merge pull request #8708 from internet-development/@APiligrim/chat-request-ui

[APP-1317] update: chat request ui to hide chat requests when there are no messages
This commit is contained in:
jim
2025-07-23 21:46:56 -07:00
committed by GitHub
+25 -11
View File
@@ -164,12 +164,18 @@ export function MessagesScreenInner({navigation, route}: Props) {
// filter out convos that are actively being left
.filter(convo => !leftConvos.includes(convo.id))
const hasInboxRequests = inboxPreviewConvos?.length > 0
return [
{
type: 'INBOX',
count: inboxPreviewConvos.length,
profiles: inboxPreviewConvos.slice(0, 3),
},
...(hasInboxRequests
? [
{
type: 'INBOX' as const,
count: inboxPreviewConvos.length,
profiles: inboxPreviewConvos.slice(0, 3),
},
]
: []),
...conversations.map(
convo => ({type: 'CONVERSATION', conversation: convo}) as const,
),
@@ -223,16 +229,24 @@ export function MessagesScreenInner({navigation, route}: Props) {
return listenSoftReset(onSoftReset)
}, [onSoftReset, isScreenFocused])
// Will always have 1 item - the inbox button
if (conversations.length < 2) {
// NOTE(APiligrim)
// Show empty state only if there are no conversations at all
const actualConversations = conversations.filter(
item => item.type === 'CONVERSATION',
)
const hasInboxRequests = inboxPreviewConvos?.length > 0
if (actualConversations.length === 0) {
return (
<Layout.Screen>
<Header newChatControl={newChatControl} />
<Layout.Center>
<InboxPreview
count={inboxPreviewConvos.length}
profiles={inboxPreviewConvos}
/>
{hasInboxRequests && (
<InboxPreview
count={inboxPreviewConvos.length}
profiles={inboxPreviewConvos}
/>
)}
{isLoading ? (
<ChatListLoadingPlaceholder />
) : (