Add images to workouts list
This commit is contained in:
parent
f6dec0c3b2
commit
5578318ead
|
@ -1,6 +1,6 @@
|
||||||
import {NavigationProp, useNavigation} from '@react-navigation/native';
|
import {NavigationProp, useNavigation} from '@react-navigation/native';
|
||||||
import React, {useCallback, useContext, useState} from 'react';
|
import React, {useCallback, useContext, useEffect, useState} from 'react';
|
||||||
import {GestureResponderEvent, Text} from 'react-native';
|
import {GestureResponderEvent, Image, Text} from 'react-native';
|
||||||
import {List, Menu} from 'react-native-paper';
|
import {List, Menu} from 'react-native-paper';
|
||||||
import {DatabaseContext} from './App';
|
import {DatabaseContext} from './App';
|
||||||
import ConfirmDialog from './ConfirmDialog';
|
import ConfirmDialog from './ConfirmDialog';
|
||||||
|
@ -17,9 +17,19 @@ export default function WorkoutItem({
|
||||||
const [showMenu, setShowMenu] = useState(false);
|
const [showMenu, setShowMenu] = useState(false);
|
||||||
const [anchor, setAnchor] = useState({x: 0, y: 0});
|
const [anchor, setAnchor] = useState({x: 0, y: 0});
|
||||||
const [showRemove, setShowRemove] = useState('');
|
const [showRemove, setShowRemove] = useState('');
|
||||||
|
const [uri, setUri] = useState('');
|
||||||
const db = useContext(DatabaseContext);
|
const db = useContext(DatabaseContext);
|
||||||
const navigation = useNavigation<NavigationProp<WorkoutsPageParams>>();
|
const navigation = useNavigation<NavigationProp<WorkoutsPageParams>>();
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
db.executeSql(`SELECT image FROM sets WHERE name = ? LIMIT 1`, [
|
||||||
|
item.name,
|
||||||
|
]).then(([result]) => {
|
||||||
|
setUri(result.rows.item(0)?.image);
|
||||||
|
console.log(WorkoutItem.name, item.name, result.rows.item(0)?.image);
|
||||||
|
});
|
||||||
|
}, [db, item.name]);
|
||||||
|
|
||||||
const remove = useCallback(async () => {
|
const remove = useCallback(async () => {
|
||||||
await db.executeSql(`DELETE FROM sets WHERE name = ?`, [item.name]);
|
await db.executeSql(`DELETE FROM sets WHERE name = ?`, [item.name]);
|
||||||
setShowMenu(false);
|
setShowMenu(false);
|
||||||
|
@ -41,6 +51,8 @@ export default function WorkoutItem({
|
||||||
title={item.name}
|
title={item.name}
|
||||||
onLongPress={longPress}
|
onLongPress={longPress}
|
||||||
right={() => (
|
right={() => (
|
||||||
|
<>
|
||||||
|
{uri && <Image source={{uri}} style={{height: 75, width: 75}} />}
|
||||||
<Text
|
<Text
|
||||||
style={{
|
style={{
|
||||||
alignSelf: 'center',
|
alignSelf: 'center',
|
||||||
|
@ -59,6 +71,7 @@ export default function WorkoutItem({
|
||||||
/>
|
/>
|
||||||
</Menu>
|
</Menu>
|
||||||
</Text>
|
</Text>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
<ConfirmDialog
|
<ConfirmDialog
|
||||||
|
|
Loading…
Reference in New Issue
Block a user