parent
e19b4aa84a
commit
e308993566
|
@ -5,9 +5,10 @@ import {
|
||||||
useRoute,
|
useRoute,
|
||||||
} from '@react-navigation/native';
|
} from '@react-navigation/native';
|
||||||
import React, {useCallback, useState} from 'react';
|
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 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 {MARGIN, PADDING} from './constants';
|
||||||
import MassiveInput from './MassiveInput';
|
import MassiveInput from './MassiveInput';
|
||||||
import {updateWorkouts} from './plan.service';
|
import {updateWorkouts} from './plan.service';
|
||||||
|
@ -20,6 +21,7 @@ import {WorkoutsPageParams} from './WorkoutsPage';
|
||||||
export default function EditWorkout() {
|
export default function EditWorkout() {
|
||||||
const [name, setName] = useState('');
|
const [name, setName] = useState('');
|
||||||
const [removeImage, setRemoveImage] = useState(false);
|
const [removeImage, setRemoveImage] = useState(false);
|
||||||
|
const [showRemove, setShowRemove] = useState(false);
|
||||||
const [steps, setSteps] = useState('');
|
const [steps, setSteps] = useState('');
|
||||||
const [uri, setUri] = useState<string>();
|
const [uri, setUri] = useState<string>();
|
||||||
const {params} = useRoute<RouteProp<WorkoutsPageParams, 'EditWorkout'>>();
|
const {params} = useRoute<RouteProp<WorkoutsPageParams, 'EditWorkout'>>();
|
||||||
|
@ -77,33 +79,15 @@ export default function EditWorkout() {
|
||||||
if (fileCopyUri) setUri(fileCopyUri);
|
if (fileCopyUri) setUri(fileCopyUri);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const onRemoveImage = useCallback(async () => {
|
const handleRemove = useCallback(async () => {
|
||||||
setUri('');
|
setUri('');
|
||||||
setRemoveImage(true);
|
setRemoveImage(true);
|
||||||
|
setShowRemove(false);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<View style={{padding: PADDING}}>
|
<View style={{padding: PADDING}}>
|
||||||
<ScrollView style={{height: '90%'}}>
|
<ScrollView style={{height: '90%'}}>
|
||||||
{uri && (
|
|
||||||
<>
|
|
||||||
<Pressable style={{marginBottom: MARGIN}} onPress={changeImage}>
|
|
||||||
<Card.Cover source={{uri}} />
|
|
||||||
</Pressable>
|
|
||||||
<Button
|
|
||||||
icon="trash"
|
|
||||||
style={{marginBottom: MARGIN}}
|
|
||||||
onPress={onRemoveImage}>
|
|
||||||
Remove image
|
|
||||||
</Button>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
<Button
|
|
||||||
style={{marginBottom: MARGIN}}
|
|
||||||
onPress={changeImage}
|
|
||||||
icon="image">
|
|
||||||
Change image
|
|
||||||
</Button>
|
|
||||||
<MassiveInput
|
<MassiveInput
|
||||||
label={params.value.name || 'Name'}
|
label={params.value.name || 'Name'}
|
||||||
value={name}
|
value={name}
|
||||||
|
@ -116,10 +100,32 @@ export default function EditWorkout() {
|
||||||
label="Steps"
|
label="Steps"
|
||||||
multiline
|
multiline
|
||||||
/>
|
/>
|
||||||
|
{uri ? (
|
||||||
|
<TouchableRipple
|
||||||
|
style={{marginBottom: MARGIN}}
|
||||||
|
onPress={changeImage}
|
||||||
|
onLongPress={() => setShowRemove(true)}>
|
||||||
|
<Card.Cover source={{uri}} />
|
||||||
|
</TouchableRipple>
|
||||||
|
) : (
|
||||||
|
<Button
|
||||||
|
style={{marginBottom: MARGIN}}
|
||||||
|
onPress={changeImage}
|
||||||
|
icon="image">
|
||||||
|
Image
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
<Button mode="contained" icon="save" onPress={save}>
|
<Button mode="contained" icon="save" onPress={save}>
|
||||||
Save
|
Save
|
||||||
</Button>
|
</Button>
|
||||||
|
<ConfirmDialog
|
||||||
|
title="Remove image"
|
||||||
|
onOk={handleRemove}
|
||||||
|
show={showRemove}
|
||||||
|
setShow={setShowRemove}>
|
||||||
|
Are you sure you want to remove the image?
|
||||||
|
</ConfirmDialog>
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user