about summary refs log tree commit diff
path: root/src/view/com/modals/report/ReasonOptions.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/modals/report/ReasonOptions.tsx')
-rw-r--r--src/view/com/modals/report/ReasonOptions.tsx126
1 files changed, 0 insertions, 126 deletions
diff --git a/src/view/com/modals/report/ReasonOptions.tsx b/src/view/com/modals/report/ReasonOptions.tsx
deleted file mode 100644
index 1c67bd26c..000000000
--- a/src/view/com/modals/report/ReasonOptions.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import {View} from 'react-native'
-import React, {useMemo} from 'react'
-import {AtUri, ComAtprotoModerationDefs} from '@atproto/api'
-import {Trans} from '@lingui/macro'
-
-import {Text} from '../../util/text/Text'
-import {UsePaletteValue, usePalette} from 'lib/hooks/usePalette'
-import {RadioGroup, RadioGroupItem} from 'view/com/util/forms/RadioGroup'
-import {CollectionId} from './types'
-
-type ReasonMap = Record<string, {title: JSX.Element; description: JSX.Element}>
-const CommonReasons = {
-  [ComAtprotoModerationDefs.REASONRUDE]: {
-    title: <Trans>Anti-Social Behavior</Trans>,
-    description: <Trans>Harassment, trolling, or intolerance</Trans>,
-  },
-  [ComAtprotoModerationDefs.REASONVIOLATION]: {
-    title: <Trans>Illegal and Urgent</Trans>,
-    description: <Trans>Glaring violations of law or terms of service</Trans>,
-  },
-  [ComAtprotoModerationDefs.REASONOTHER]: {
-    title: <Trans>Other</Trans>,
-    description: <Trans>An issue not included in these options</Trans>,
-  },
-}
-const CollectionToReasonsMap: Record<string, ReasonMap> = {
-  [CollectionId.Post]: {
-    [ComAtprotoModerationDefs.REASONSPAM]: {
-      title: <Trans>Spam</Trans>,
-      description: <Trans>Excessive mentions or replies</Trans>,
-    },
-    [ComAtprotoModerationDefs.REASONSEXUAL]: {
-      title: <Trans>Unwanted Sexual Content</Trans>,
-      description: <Trans>Nudity or pornography not labeled as such</Trans>,
-    },
-    __copyright__: {
-      title: <Trans>Copyright Violation</Trans>,
-      description: <Trans>Contains copyrighted material</Trans>,
-    },
-    ...CommonReasons,
-  },
-  [CollectionId.List]: {
-    ...CommonReasons,
-    [ComAtprotoModerationDefs.REASONVIOLATION]: {
-      title: <Trans>Name or Description Violates Community Standards</Trans>,
-      description: <Trans>Terms used violate community standards</Trans>,
-    },
-  },
-}
-const AccountReportReasons = {
-  [ComAtprotoModerationDefs.REASONMISLEADING]: {
-    title: <Trans>Misleading Account</Trans>,
-    description: (
-      <Trans>Impersonation or false claims about identity or affiliation</Trans>
-    ),
-  },
-  [ComAtprotoModerationDefs.REASONSPAM]: {
-    title: <Trans>Frequently Posts Unwanted Content</Trans>,
-    description: <Trans>Spam; excessive mentions or replies</Trans>,
-  },
-  [ComAtprotoModerationDefs.REASONVIOLATION]: {
-    title: <Trans>Name or Description Violates Community Standards</Trans>,
-    description: <Trans>Terms used violate community standards</Trans>,
-  },
-}
-
-const Option = ({
-  pal,
-  title,
-  description,
-}: {
-  pal: UsePaletteValue
-  description: JSX.Element
-  title: JSX.Element
-}) => {
-  return (
-    <View>
-      <Text style={pal.text} type="md-bold">
-        {title}
-      </Text>
-      <Text style={pal.textLight}>{description}</Text>
-    </View>
-  )
-}
-
-// This is mostly just content copy without almost any logic
-// so this may grow over time and it makes sense to split it up into its own file
-// to keep it separate from the actual reporting modal logic
-const useReportRadioOptions = (pal: UsePaletteValue, atUri: AtUri | null) =>
-  useMemo(() => {
-    let items: ReasonMap = {...CommonReasons}
-    // If no atUri is passed, that means the reporting collection is account
-    if (!atUri) {
-      items = {...AccountReportReasons}
-    }
-
-    if (atUri?.collection && CollectionToReasonsMap[atUri.collection]) {
-      items = {...CollectionToReasonsMap[atUri.collection]}
-    }
-
-    return Object.entries(items).map(([key, {title, description}]) => ({
-      key,
-      label: <Option pal={pal} title={title} description={description} />,
-    }))
-  }, [pal, atUri])
-
-export const ReportReasonOptions = ({
-  atUri,
-  selectedIssue,
-  onSelectIssue,
-}: {
-  atUri: AtUri | null
-  selectedIssue?: string
-  onSelectIssue: (key: string) => void
-}) => {
-  const pal = usePalette('default')
-  const ITEMS: RadioGroupItem[] = useReportRadioOptions(pal, atUri)
-  return (
-    <RadioGroup
-      items={ITEMS}
-      onSelect={onSelectIssue}
-      testID="reportReasonRadios"
-      initialSelection={selectedIssue}
-    />
-  )
-}