From 56168c30213813610bb196ce782f6f3e0df92b51 Mon Sep 17 00:00:00 2001 From: Eddy de Vink Date: Sat, 27 Jun 2026 23:15:41 +0200 Subject: [PATCH] feat: pre-fill measurement form with latest measurement values --- src/screens/NewMeasurementScreen.tsx | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/screens/NewMeasurementScreen.tsx b/src/screens/NewMeasurementScreen.tsx index ad0edc3..bd6fd56 100644 --- a/src/screens/NewMeasurementScreen.tsx +++ b/src/screens/NewMeasurementScreen.tsx @@ -1,14 +1,34 @@ -import React from 'react' +import React, { useEffect, useState } from 'react' import { Alert } from 'react-native' import MeasurementForm from '../components/MeasurementForm' import { Measurement } from '../types' -import { initDatabase, insertMeasurement } from '../database/db' +import { initDatabase, insertMeasurement, getLatestMeasurement } from '../database/db' type Props = { navigation: any } export default function NewMeasurementScreen({ navigation }: Props) { + const [latest, setLatest] = useState | undefined>(undefined) + + useEffect(() => { + const load = async () => { + await initDatabase() + const m = await getLatestMeasurement() + if (m) { + setLatest({ + weight: m.weight, + bmi: m.bmi, + bodyFatPercentage: m.bodyFatPercentage, + musclePercentage: m.musclePercentage, + visceralFat: m.visceralFat, + bmr: m.bmr, + }) + } + } + load() + }, []) + const handleSubmit = async (m: Measurement) => { await initDatabase() await insertMeasurement(m) @@ -17,5 +37,5 @@ export default function NewMeasurementScreen({ navigation }: Props) { ]) } - return + return }