diff --git a/src/screens/DashboardScreen.tsx b/src/screens/DashboardScreen.tsx index dc5c8c7..995b674 100644 --- a/src/screens/DashboardScreen.tsx +++ b/src/screens/DashboardScreen.tsx @@ -19,9 +19,9 @@ export default function DashboardScreen({ navigation }: Props) { const load = async () => { await initDatabase() const allM = await getAllMeasurements() - setAll(allM) - const latestM = await getLatestMeasurement() - setLatest(latestM) + const visible = allM.filter(m => !m.deletedAt) + setAll(visible) + setLatest(visible.length > 0 ? visible[0] : null) } load() }, []) diff --git a/src/screens/HistoryScreen.tsx b/src/screens/HistoryScreen.tsx index 8fd941d..a2f87af 100644 --- a/src/screens/HistoryScreen.tsx +++ b/src/screens/HistoryScreen.tsx @@ -1,8 +1,10 @@ import React, { useCallback, useState } from 'react' -import { View, FlatList, StyleSheet, Text, RefreshControl, TouchableOpacity } from 'react-native' +import { View, FlatList, StyleSheet, Text, RefreshControl, TouchableOpacity, Alert } from 'react-native' import { useFocusEffect } from '@react-navigation/native' -import { initDatabase, getAllMeasurements, deleteMeasurement } from '../database/db' +import { initDatabase, getAllMeasurements, setDeletedAt, removeMeasurement } from '../database/db' import { Measurement } from '../types' +import { createApi } from '../sync/api' +import { getApiConfig } from './SettingsScreen' import MeasurementRow from '../components/MeasurementRow' type Props = { navigation: any } @@ -14,7 +16,7 @@ export default function HistoryScreen({ navigation }: Props) { const load = useCallback(async () => { await initDatabase() const all = await getAllMeasurements() - setMeasurements(all) + setMeasurements(all.filter(m => !m.deletedAt)) }, []) useFocusEffect( @@ -61,10 +63,13 @@ export default function HistoryScreen({ navigation }: Props) { style: 'destructive', onPress: async () => { await initDatabase() - await deleteMeasurement(m.id) + await setDeletedAt(m.id) try { - const { syncAll } = await import('../sync/syncService') - await syncAll() + const config = await getApiConfig() + if (config) { + await createApi(config).deleteMeasurement(m.id) + await removeMeasurement(m.id) + } } catch {} load() },