From e308993566112ffd0665fecb9f90f22745a0d3ca Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Mon, 19 Sep 2022 14:57:42 +1200 Subject: [PATCH] Use gestures instead of buttons for EditWorkout image Closes #31 --- EditWorkout.tsx | 50 +++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/EditWorkout.tsx b/EditWorkout.tsx index e7816c7..3d32b3a 100644 --- a/EditWorkout.tsx +++ b/EditWorkout.tsx @@ -5,9 +5,10 @@ import { useRoute, } from '@react-navigation/native'; import React, {useCallback, useState} from 'react'; -import {Pressable, ScrollView, View} from 'react-native'; +import {ScrollView, View} from 'react-native'; import DocumentPicker from 'react-native-document-picker'; -import {Button, Card, IconButton} from 'react-native-paper'; +import {Button, Card, IconButton, TouchableRipple} from 'react-native-paper'; +import ConfirmDialog from './ConfirmDialog'; import {MARGIN, PADDING} from './constants'; import MassiveInput from './MassiveInput'; import {updateWorkouts} from './plan.service'; @@ -20,6 +21,7 @@ import {WorkoutsPageParams} from './WorkoutsPage'; export default function EditWorkout() { const [name, setName] = useState(''); const [removeImage, setRemoveImage] = useState(false); + const [showRemove, setShowRemove] = useState(false); const [steps, setSteps] = useState(''); const [uri, setUri] = useState(); const {params} = useRoute>(); @@ -77,33 +79,15 @@ export default function EditWorkout() { if (fileCopyUri) setUri(fileCopyUri); }, []); - const onRemoveImage = useCallback(async () => { + const handleRemove = useCallback(async () => { setUri(''); setRemoveImage(true); + setShowRemove(false); }, []); return ( - {uri && ( - <> - - - - - - )} - + {uri ? ( + setShowRemove(true)}> + + + ) : ( + + )} + + Are you sure you want to remove the image? + ); }