about summary refs log tree commit diff
path: root/src/view/com/modals/report/SendReportButton.tsx
diff options
context:
space:
mode:
authorAnsh <anshnanda10@gmail.com>2023-06-07 09:11:04 -0700
committerGitHub <noreply@github.com>2023-06-07 11:11:04 -0500
commit0be14a1b46fc55c482b5e2171e94615a73114fd2 (patch)
tree2b70f41a2e8076bc17492aa007cadf1234a1a893 /src/view/com/modals/report/SendReportButton.tsx
parentfc12a1205cceab323f1165205cd68268ff291436 (diff)
downloadvoidsky-0be14a1b46fc55c482b5e2171e94615a73114fd2.tar.zst
[APP-680] Allow users to add details when reporting (#854)
* allow user to add text when reporting post

* add DMCA override

* increase modal size

* fix dark mode text color

* re-organize components

* add details option when reporting account

* hard-code modal size so it works on smaller devices

* fix modal on web

* Remove outline from textarea focus

* Tweak some styles

* Fix lint

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/view/com/modals/report/SendReportButton.tsx')
-rw-r--r--src/view/com/modals/report/SendReportButton.tsx57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/view/com/modals/report/SendReportButton.tsx b/src/view/com/modals/report/SendReportButton.tsx
new file mode 100644
index 000000000..82fb65f20
--- /dev/null
+++ b/src/view/com/modals/report/SendReportButton.tsx
@@ -0,0 +1,57 @@
+import React from 'react'
+import LinearGradient from 'react-native-linear-gradient'
+import {
+  ActivityIndicator,
+  StyleSheet,
+  TouchableOpacity,
+  View,
+} from 'react-native'
+import {Text} from '../../util/text/Text'
+import {s, gradients, colors} from 'lib/styles'
+
+export function SendReportButton({
+  onPress,
+  isProcessing,
+}: {
+  onPress: () => void
+  isProcessing: boolean
+}) {
+  // loading state
+  // =
+  if (isProcessing) {
+    return (
+      <View style={[styles.btn, s.mt10]}>
+        <ActivityIndicator />
+      </View>
+    )
+  }
+  return (
+    <TouchableOpacity
+      testID="sendReportBtn"
+      style={s.mt10}
+      onPress={onPress}
+      accessibilityRole="button"
+      accessibilityLabel="Report post"
+      accessibilityHint={`Reports post with reason and details`}>
+      <LinearGradient
+        colors={[gradients.blueLight.start, gradients.blueLight.end]}
+        start={{x: 0, y: 0}}
+        end={{x: 1, y: 1}}
+        style={[styles.btn]}>
+        <Text style={[s.white, s.bold, s.f18]}>Send Report</Text>
+      </LinearGradient>
+    </TouchableOpacity>
+  )
+}
+
+const styles = StyleSheet.create({
+  btn: {
+    flexDirection: 'row',
+    alignItems: 'center',
+    justifyContent: 'center',
+    width: '100%',
+    borderRadius: 32,
+    padding: 14,
+    backgroundColor: colors.gray1,
+  },
+})