diff options
author | Aryan Goharzad <arrygoo@gmail.com> | 2023-01-25 18:25:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-25 17:25:34 -0600 |
commit | eb33c3fa812cc087db14a6b6ba743e982b26c462 (patch) | |
tree | d098f7a804c67755f39e95bbbfd56887bacf476c /src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx | |
parent | adf328b50ce98c5ebd3282fe897ddfdcd0de8011 (diff) | |
download | voidsky-eb33c3fa812cc087db14a6b6ba743e982b26c462.tar.zst |
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
Diffstat (limited to 'src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx')
-rw-r--r-- | src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx | 52 |
1 files changed, 52 insertions, 0 deletions
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 |