Streamline selection of image for workout

This commit is contained in:
Brandon Presley 2022-09-16 21:20:10 +12:00
parent 052d000e12
commit 2027b0f66a

View File

@ -5,10 +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 {Image, ScrollView, View} from 'react-native'; import {Pressable, ScrollView} from 'react-native';
import DocumentPicker from 'react-native-document-picker'; import DocumentPicker from 'react-native-document-picker';
import {Button, IconButton} from 'react-native-paper'; import {Button, Card, IconButton} from 'react-native-paper';
import {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';
import Set from './set'; import Set from './set';
@ -30,6 +30,7 @@ export default function EditWorkout() {
headerRight: null, headerRight: null,
title: params.value.name ? params.value.name : 'New workout', title: params.value.name ? params.value.name : 'New workout',
}); });
if (params.value.name)
getSets({search: params.value.name, limit: 1, offset: 0}).then(sets => getSets({search: params.value.name, limit: 1, offset: 0}).then(sets =>
setUri(sets[0]?.image), setUri(sets[0]?.image),
); );
@ -70,23 +71,22 @@ export default function EditWorkout() {
return ( return (
<ScrollView style={{padding: PADDING}}> <ScrollView style={{padding: PADDING}}>
{params.value.name ? (
<>
<MassiveInput <MassiveInput
placeholder={params.value.name} label={params.value.name}
label="New name"
value={name} value={name}
onChangeText={setName} onChangeText={setName}
/> />
<View style={{flexDirection: 'row', paddingBottom: PADDING}}> {uri ? (
{uri && <Image source={{uri}} style={{height: 75, width: 75}} />} <Pressable style={{marginBottom: MARGIN}} onPress={changeImage}>
<Button onPress={changeImage} icon="image"> <Card.Cover source={{uri}} />
</Pressable>
) : (
<Button
style={{marginBottom: MARGIN}}
onPress={changeImage}
icon="image">
Image Image
</Button> </Button>
</View>
</>
) : (
<MassiveInput label="Name" value={name} onChangeText={setName} />
)} )}
<Button <Button
disabled={!name && !!params.value.name && !uri} disabled={!name && !!params.value.name && !uri}