diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/comments/ZoomInCropper.tsx | 30 | ||||
-rw-r--r-- | src/components/common/MomentTags.tsx | 28 |
2 files changed, 45 insertions, 13 deletions
diff --git a/src/components/comments/ZoomInCropper.tsx b/src/components/comments/ZoomInCropper.tsx new file mode 100644 index 00000000..1620d777 --- /dev/null +++ b/src/components/comments/ZoomInCropper.tsx @@ -0,0 +1,30 @@ +import {RouteProp} from '@react-navigation/core'; +import {StackNavigationProp} from '@react-navigation/stack'; +import React from 'react'; +import {Image, Dimensions, Text} from 'react-native'; +import ImageZoom from 'react-native-image-pan-zoom'; +import {SCREEN_WIDTH} from '../../utils'; +import {MainStackParams} from '../../routes'; + +type ZoomInCropperRouteProps = RouteProp<MainStackParams, 'ZoomInCropper'>; + +interface ZoomInCropperProps { + route: ZoomInCropperRouteProps; +} + +export const ZoomInCropper: React.FC<ZoomInCropperProps> = ({route}) => { + return ( + <ImageZoom + cropWidth={Dimensions.get('window').width} + cropHeight={Dimensions.get('window').height} + imageWidth={200} + imageHeight={200}> + <Image + style={{width: 200, height: 200}} + source={{ + uri: route.params.imageURI, + }} + /> + </ImageZoom> + ); +}; diff --git a/src/components/common/MomentTags.tsx b/src/components/common/MomentTags.tsx index bdd1fbeb..4afacddb 100644 --- a/src/components/common/MomentTags.tsx +++ b/src/components/common/MomentTags.tsx @@ -66,19 +66,21 @@ const MomentTags: React.FC<MomentTagsProps> = ({ useEffect(() => { setTimeout( () => { - imageRef.current.measure( - ( - fx: number, // location of ref relative to parent element - fy: number, - width: number, - height: number, - _x: number, // location of ref relative to entire screen - _y: number, - ) => { - setOffset([fx, fy]); - setImageDimensions([width, height]); - }, - ); + if (imageRef && imageRef.current) { + imageRef.current.measure( + ( + fx: number, // location of ref relative to parent element + fy: number, + width: number, + height: number, + _x: number, // location of ref relative to entire screen + _y: number, + ) => { + setOffset([fx, fy]); + setImageDimensions([width, height]); + }, + ); + } }, editing ? 100 : 0, ); |