From 74bb65714b7c7b128ddb27438773b149bbe5ec6c Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Wed, 22 Jan 2025 21:03:31 +0000 Subject: Post-report menu (#7446) * post-report block/delete dialog * fix * default checked * web styles * add icon to send button * wire everything up * optimisically leave convo * hide pending-leave convos * Capitalize action labels * Code style --------- Co-authored-by: Dan Abramov --- src/screens/Messages/ChatList.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/screens/Messages/ChatList.tsx') diff --git a/src/screens/Messages/ChatList.tsx b/src/screens/Messages/ChatList.tsx index ac6285112..178e94dd4 100644 --- a/src/screens/Messages/ChatList.tsx +++ b/src/screens/Messages/ChatList.tsx @@ -14,6 +14,7 @@ import {logger} from '#/logger' import {isNative} from '#/platform/detection' import {MESSAGE_SCREEN_POLL_INTERVAL} from '#/state/messages/convo/const' import {useMessagesEventBus} from '#/state/messages/events' +import {useLeftConvos} from '#/state/queries/messages/leave-conversation' import {useListConvosQuery} from '#/state/queries/messages/list-conversations' import {List} from '#/view/com/util/List' import {atoms as a, useBreakpoints, useTheme, web} from '#/alf' @@ -94,12 +95,19 @@ export function MessagesScreen({navigation, route}: Props) { useRefreshOnFocus(refetch) + const leftConvos = useLeftConvos() + const conversations = useMemo(() => { if (data?.pages) { - return data.pages.flatMap(page => page.convos) + return ( + data.pages + .flatMap(page => page.convos) + // filter out convos that are actively being left + .filter(convo => !leftConvos.includes(convo.id)) + ) } return [] - }, [data]) + }, [data, leftConvos]) const onRefresh = useCallback(async () => { setIsPTRing(true) -- cgit 1.4.1