From fc19ffba3881cf38d8a6a47a62c6ed5feff5aa4b Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 25 Apr 2023 21:04:50 -0500 Subject: Update report modal to use new groupings (close [APP-567]) (#533) --- src/view/com/modals/ReportAccount.tsx | 70 ++++++++++++++++++++++++----------- 1 file changed, 48 insertions(+), 22 deletions(-) (limited to 'src/view/com/modals/ReportAccount.tsx') diff --git a/src/view/com/modals/ReportAccount.tsx b/src/view/com/modals/ReportAccount.tsx index 601bccbd1..e03f06bde 100644 --- a/src/view/com/modals/ReportAccount.tsx +++ b/src/view/com/modals/ReportAccount.tsx @@ -1,4 +1,4 @@ -import React, {useState} from 'react' +import React, {useState, useMemo} from 'react' import { ActivityIndicator, StyleSheet, @@ -15,12 +15,7 @@ import * as Toast from '../util/Toast' import {ErrorMessage} from '../util/error/ErrorMessage' import {cleanError} from 'lib/strings/errors' import {usePalette} from 'lib/hooks/usePalette' - -const ITEMS: RadioGroupItem[] = [ - {key: 'spam', label: 'Spam or excessive repeat posts'}, - {key: 'abuse', label: 'Abusive, rude, or hateful'}, - {key: 'illegal', label: 'Posts illegal content'}, -] +import {isDesktopWeb} from 'platform/detection' export const snapPoints = ['50%'] @@ -31,6 +26,39 @@ export function Component({did}: {did: string}) { const [error, setError] = useState('') const [issue, setIssue] = useState('') const onSelectIssue = (v: string) => setIssue(v) + + const ITEMS: RadioGroupItem[] = useMemo( + () => [ + { + key: ComAtprotoModerationDefs.REASONMISLEADING, + label: ( + + + Misleading Account + + + Impersonation or false claims about identity or affiliation + + + ), + }, + { + key: ComAtprotoModerationDefs.REASONSPAM, + label: ( + + + Frequently Posts Unwanted Content + + + Spam; excessive mentions or replies + + + ), + }, + ], + [pal], + ) + const onPress = async () => { setError('') if (!issue) { @@ -38,15 +66,8 @@ export function Component({did}: {did: string}) { } setIsProcessing(true) try { - // NOTE: we should update the lexicon of reasontype to include more options -prf - let reasonType = ComAtprotoModerationDefs.REASONOTHER - if (issue === 'spam') { - reasonType = ComAtprotoModerationDefs.REASONSPAM - } - const reason = ITEMS.find(item => item.key === issue)?.label || '' await store.agent.com.atproto.moderation.createReport({ - reasonType, - reason, + reasonType: issue, subject: { $type: 'com.atproto.admin.defs#repoRef', did, @@ -61,11 +82,11 @@ export function Component({did}: {did: string}) { } } return ( - - Report account - + + + Report account + + What is the issue with this account? + + For other issues, please report specific posts. + {error ? ( @@ -101,15 +125,17 @@ export function Component({did}: {did: string}) { } const styles = StyleSheet.create({ + container: { + flex: 1, + paddingHorizontal: isDesktopWeb ? 0 : 10, + }, title: { textAlign: 'center', fontWeight: 'bold', - fontSize: 24, marginBottom: 12, }, description: { textAlign: 'center', - fontSize: 17, paddingHorizontal: 22, marginBottom: 10, }, -- cgit 1.4.1