From 8b3bfb3cf7459af59fb4535241a6251e35e88eb9 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Fri, 17 May 2024 17:56:58 -0500 Subject: Make generic convo report dialog (#4085) --- src/components/dms/MessageReportDialog.tsx | 258 ----------------------------- 1 file changed, 258 deletions(-) delete mode 100644 src/components/dms/MessageReportDialog.tsx (limited to 'src/components/dms/MessageReportDialog.tsx') diff --git a/src/components/dms/MessageReportDialog.tsx b/src/components/dms/MessageReportDialog.tsx deleted file mode 100644 index cc25732af..000000000 --- a/src/components/dms/MessageReportDialog.tsx +++ /dev/null @@ -1,258 +0,0 @@ -import React, {memo, useMemo, useState} from 'react' -import {View} from 'react-native' -import { - ChatBskyConvoDefs, - ComAtprotoModerationCreateReport, - RichText as RichTextAPI, -} from '@atproto/api' -import {msg, Trans} from '@lingui/macro' -import {useLingui} from '@lingui/react' -import {useMutation} from '@tanstack/react-query' - -import {ReportOption} from '#/lib/moderation/useReportOptions' -import {isAndroid} from '#/platform/detection' -import {useAgent} from '#/state/session' -import {CharProgress} from '#/view/com/composer/char-progress/CharProgress' -import * as Toast from '#/view/com/util/Toast' -import {atoms as a, useBreakpoints, useTheme} from '#/alf' -import * as Dialog from '#/components/Dialog' -import {Button, ButtonIcon, ButtonText} from '../Button' -import {Divider} from '../Divider' -import {ChevronLeft_Stroke2_Corner0_Rounded as Chevron} from '../icons/Chevron' -import {Loader} from '../Loader' -import {SelectReportOptionView} from '../ReportDialog/SelectReportOptionView' -import {RichText} from '../RichText' -import {Text} from '../Typography' -import {MessageItemMetadata} from './MessageItem' - -let MessageReportDialog = ({ - control, - message, -}: { - control: Dialog.DialogControlProps - message: ChatBskyConvoDefs.MessageView -}): React.ReactNode => { - const {_} = useLingui() - return ( - - - - - - - - ) -} -MessageReportDialog = memo(MessageReportDialog) -export {MessageReportDialog} - -function DialogInner({message}: {message: ChatBskyConvoDefs.MessageView}) { - const [reportOption, setReportOption] = useState(null) - - return reportOption ? ( - setReportOption(null)} - /> - ) : ( - - ) -} - -function ReasonStep({ - setReportOption, -}: { - setReportOption: (reportOption: ReportOption) => void -}) { - const control = Dialog.useDialogContext() - - return ( - - ) -} - -function SubmitStep({ - message, - reportOption, - goBack, -}: { - message: ChatBskyConvoDefs.MessageView - reportOption: ReportOption - goBack: () => void -}) { - const {_} = useLingui() - const {gtMobile} = useBreakpoints() - const t = useTheme() - const [details, setDetails] = useState('') - const control = Dialog.useDialogContext() - const {getAgent} = useAgent() - - const { - mutate: submit, - error, - isPending: submitting, - } = useMutation({ - mutationFn: async () => { - const report = { - reasonType: reportOption.reason, - subject: { - $type: 'chat.bsky.convo.defs#messageRef', - messageId: message.id, - did: message.sender!.did, - } satisfies ChatBskyConvoDefs.MessageRef, - reason: details, - } satisfies ComAtprotoModerationCreateReport.InputSchema - - await getAgent().createModerationReport(report) - }, - onSuccess: () => { - control.close(() => { - Toast.show(_(msg`Thank you. Your report has been sent.`)) - }) - }, - }) - - return ( - - - - - - Report this message - - - - Your report will be sent to the Bluesky Moderation Service - - - - - - - - Reason: {reportOption.title} - - - - - - - Optionally provide additional information below: - - - - - - - - - - - - - {error && ( - - - There was an issue sending your report. Please check your internet - connection. - - - )} - - - - - ) -} - -function PreviewMessage({message}: {message: ChatBskyConvoDefs.MessageView}) { - const t = useTheme() - const rt = useMemo(() => { - return new RichTextAPI({text: message.text, facets: message.facets}) - }, [message.text, message.facets]) - - return ( - - - - - - - ) -} -- cgit 1.4.1