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/util/PostEmbeds.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/util/PostEmbeds.tsx')
-rw-r--r-- | src/view/com/util/PostEmbeds.tsx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/view/com/util/PostEmbeds.tsx b/src/view/com/util/PostEmbeds.tsx index e3fca2538..1d8df038b 100644 --- a/src/view/com/util/PostEmbeds.tsx +++ b/src/view/com/util/PostEmbeds.tsx @@ -10,6 +10,7 @@ import {ImagesLightbox} from '../../../state/models/shell-ui' import {useStores} from '../../../state' import {usePalette} from '../../lib/hooks/usePalette' import {gradients} from '../../lib/styles' +import {saveImageModal} from '../../../lib/images' type Embed = | AppBskyEmbedImages.Presented @@ -31,6 +32,10 @@ export function PostEmbeds({ const openLightbox = (index: number) => { store.shell.openLightbox(new ImagesLightbox(uris, index)) } + const onLongPress = (index: number) => { + saveImageModal({uri: uris[index]}) + } + if (embed.images.length === 4) { return ( <View style={[styles.imagesContainer, style]}> @@ -38,6 +43,7 @@ export function PostEmbeds({ type="four" uris={embed.images.map(img => img.thumb)} onPress={openLightbox} + onLongPress={onLongPress} /> </View> ) @@ -48,6 +54,7 @@ export function PostEmbeds({ type="three" uris={embed.images.map(img => img.thumb)} onPress={openLightbox} + onLongPress={onLongPress} /> </View> ) @@ -58,6 +65,7 @@ export function PostEmbeds({ type="two" uris={embed.images.map(img => img.thumb)} onPress={openLightbox} + onLongPress={onLongPress} /> </View> ) @@ -67,6 +75,7 @@ export function PostEmbeds({ <AutoSizedImage uri={embed.images[0].thumb} onPress={() => openLightbox(0)} + onLongPress={() => onLongPress(0)} containerStyle={styles.singleImage} /> </View> |