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
1 changed files with 22 additions and 22 deletions

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