From b043a5c1d2ce405cab07fc200cf5b47bc5218b72 Mon Sep 17 00:00:00 2001 From: eddy Date: Mon, 20 Jul 2026 17:00:59 +0200 Subject: [PATCH] detail: soft delete via deletedAt i.p.v. syncStatus --- src/screens/MeasurementDetailScreen.tsx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/screens/MeasurementDetailScreen.tsx b/src/screens/MeasurementDetailScreen.tsx index ee17a30..20fecb3 100644 --- a/src/screens/MeasurementDetailScreen.tsx +++ b/src/screens/MeasurementDetailScreen.tsx @@ -2,8 +2,10 @@ import React, { useCallback, useState } from 'react' import { View, Text, StyleSheet, TouchableOpacity, Alert, ScrollView } from 'react-native' import { useFocusEffect } from '@react-navigation/native' import { useSafeAreaInsets } from 'react-native-safe-area-context' -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' type Props = { navigation: any @@ -57,10 +59,13 @@ export default function MeasurementDetailScreen({ navigation, route }: Props) { style: 'destructive', onPress: async () => { await initDatabase() - await deleteMeasurement(measurementId) + await setDeletedAt(measurementId) try { - const { syncAll } = await import('../sync/syncService') - await syncAll(new Set([measurementId])) + const config = await getApiConfig() + if (config) { + await createApi(config).deleteMeasurement(measurementId) + await removeMeasurement(measurementId) + } } catch {} navigation.goBack() },