From d150dbf7b7d3e59d861c2e7e15be61316da2ba31 Mon Sep 17 00:00:00 2001 From: Eddy de Vink Date: Sat, 27 Jun 2026 23:22:35 +0200 Subject: [PATCH] fix: add pull-to-refresh to HistoryScreen --- src/screens/HistoryScreen.tsx | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/screens/HistoryScreen.tsx b/src/screens/HistoryScreen.tsx index b1b4bc7..c6ec287 100644 --- a/src/screens/HistoryScreen.tsx +++ b/src/screens/HistoryScreen.tsx @@ -1,5 +1,5 @@ import React, { useCallback, useState } from 'react' -import { View, FlatList, StyleSheet, Text } from 'react-native' +import { View, FlatList, StyleSheet, Text, RefreshControl } from 'react-native' import { useFocusEffect } from '@react-navigation/native' import { initDatabase, getAllMeasurements } from '../database/db' import { Measurement } from '../types' @@ -7,18 +7,26 @@ import MeasurementRow from '../components/MeasurementRow' export default function HistoryScreen() { const [measurements, setMeasurements] = useState([]) + const [refreshing, setRefreshing] = useState(false) + + const load = useCallback(async () => { + await initDatabase() + const all = await getAllMeasurements() + setMeasurements(all) + }, []) useFocusEffect( useCallback(() => { - const load = async () => { - await initDatabase() - const all = await getAllMeasurements() - setMeasurements(all) - } load() - }, []) + }, [load]) ) + const onRefresh = useCallback(async () => { + setRefreshing(true) + await load() + setRefreshing(false) + }, [load]) + return ( {measurements.length} metingen @@ -28,6 +36,9 @@ export default function HistoryScreen() { renderItem={({ item }) => } contentContainerStyle={measurements.length === 0 ? styles.empty : undefined} ListEmptyComponent={Nog geen metingen} + refreshControl={ + + } /> )