From eb33c3fa812cc087db14a6b6ba743e982b26c462 Mon Sep 17 00:00:00 2001
From: Aryan Goharzad <arrygoo@gmail.com>
Date: Wed, 25 Jan 2023 18:25:34 -0500
Subject: Saves image on long press (#83)

* Saves image on long press

* Adds save on long press

* Forking lightbox

* move to wrapper only to the bottom sheet to reduce impact of this change

* lint

* lint

* lint

* Use official `share` API

* Clean up cache after download

* comment

* comment

* Reduce swipe close velocity

* Updates per feedback

* lint

* bugfix

* Adds delayed press-in for TouchableOpacity
---
 .../ImageViewing/components/ImageDefaultHeader.tsx | 52 ++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx

(limited to 'src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx')

diff --git a/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx b/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
new file mode 100644
index 000000000..6880008e4
--- /dev/null
+++ b/src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx
@@ -0,0 +1,52 @@
+/**
+ * Copyright (c) JOB TODAY S.A. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+import React from 'react'
+import {SafeAreaView, Text, TouchableOpacity, StyleSheet} from 'react-native'
+
+type Props = {
+  onRequestClose: () => void
+}
+
+const HIT_SLOP = {top: 16, left: 16, bottom: 16, right: 16}
+
+const ImageDefaultHeader = ({onRequestClose}: Props) => (
+  <SafeAreaView style={styles.root}>
+    <TouchableOpacity
+      style={styles.closeButton}
+      onPress={onRequestClose}
+      hitSlop={HIT_SLOP}>
+      <Text style={styles.closeText}>✕</Text>
+    </TouchableOpacity>
+  </SafeAreaView>
+)
+
+const styles = StyleSheet.create({
+  root: {
+    alignItems: 'flex-end',
+  },
+  closeButton: {
+    marginRight: 8,
+    marginTop: 8,
+    width: 44,
+    height: 44,
+    alignItems: 'center',
+    justifyContent: 'center',
+    borderRadius: 22,
+    backgroundColor: '#00000077',
+  },
+  closeText: {
+    lineHeight: 22,
+    fontSize: 19,
+    textAlign: 'center',
+    color: '#FFF',
+    includeFontPadding: false,
+  },
+})
+
+export default ImageDefaultHeader
-- 
cgit 1.4.1

