diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/ReportDialog/SelectReportOptionView.tsx | 4 | ||||
-rw-r--r-- | src/components/dms/ConvoMenu.tsx | 17 | ||||
-rw-r--r-- | src/components/dms/MessagesListHeader.tsx | 10 |
3 files changed, 27 insertions, 4 deletions
diff --git a/src/components/ReportDialog/SelectReportOptionView.tsx b/src/components/ReportDialog/SelectReportOptionView.tsx index 169c07d73..92a442cbd 100644 --- a/src/components/ReportDialog/SelectReportOptionView.tsx +++ b/src/components/ReportDialog/SelectReportOptionView.tsx @@ -25,9 +25,7 @@ import {SquareArrowTopRight_Stroke2_Corner0_Rounded as SquareArrowTopRight} from import {Text} from '#/components/Typography' import {ReportDialogProps} from './types' -export function SelectReportOptionView({ - ...props -}: { +export function SelectReportOptionView(props: { params: ReportDialogProps['params'] labelers: AppBskyLabelerDefs.LabelerViewDetailed[] onSelectReportOption: (reportOption: ReportOption) => void diff --git a/src/components/dms/ConvoMenu.tsx b/src/components/dms/ConvoMenu.tsx index e1f8df10b..ba1d4ee54 100644 --- a/src/components/dms/ConvoMenu.tsx +++ b/src/components/dms/ConvoMenu.tsx @@ -35,6 +35,7 @@ import {SpeakerVolumeFull_Stroke2_Corner0_Rounded as Unmute} from '#/components/ import * as Menu from '#/components/Menu' import * as Prompt from '#/components/Prompt' import {Bubble_Stroke2_Corner2_Rounded as Bubble} from '../icons/Bubble' +import {ReportDialog} from './ReportDialog' let ConvoMenu = ({ convo: initialConvo, @@ -44,6 +45,7 @@ let ConvoMenu = ({ showMarkAsRead, hideTrigger, blockInfo, + latestReportableMessage, style, }: { convo: ChatBskyConvoDefs.ConvoView @@ -56,6 +58,7 @@ let ConvoMenu = ({ listBlocks: ModerationCause[] userBlock?: ModerationCause } + latestReportableMessage?: ChatBskyConvoDefs.MessageView style?: ViewStyleProp['style'] }): React.ReactNode => { const navigation = useNavigation<NavigationProp>() @@ -222,7 +225,19 @@ let ConvoMenu = ({ convoId={convo.id} currentScreen={currentScreen} /> - <ReportConversationPrompt control={reportControl} /> + {latestReportableMessage ? ( + <ReportDialog + params={{ + type: 'convoMessage', + convoId: convo.id, + message: latestReportableMessage, + }} + control={reportControl} + /> + ) : ( + <ReportConversationPrompt control={reportControl} /> + )} + <BlockedByListDialog control={blockedByListControl} listBlocks={listBlocks} diff --git a/src/components/dms/MessagesListHeader.tsx b/src/components/dms/MessagesListHeader.tsx index acffa0c2b..6ac64a712 100644 --- a/src/components/dms/MessagesListHeader.tsx +++ b/src/components/dms/MessagesListHeader.tsx @@ -151,6 +151,15 @@ function HeaderReady({ moderation.ui('displayName'), ) + const latestMessageFromOther = convoState.items.findLast( + item => item.type === 'message' && item.message.sender.did === profile.did, + ) + + const latestReportableMessage = + latestMessageFromOther?.type === 'message' + ? latestMessageFromOther.message + : undefined + return ( <View style={[a.flex_1]}> <View style={[a.w_full, a.flex_row, a.align_center, a.justify_between]}> @@ -208,6 +217,7 @@ function HeaderReady({ profile={profile} currentScreen="conversation" blockInfo={blockInfo} + latestReportableMessage={latestReportableMessage} /> )} </View> |