feat: outbox-pattern sync + progressive dashboard loading
- Sync herschreven: push-vóór-pull, outbox met syncStatus (pending/pending-delete/synced), local-first merge - Dashboard: progressieve loading — laatste 2 metingen direct, grafieken volgen daarna - measurementStore versimpeld naar refreshCache/getCached/getVersion (20 regels) - db.ts: getPendingRecords(), updateSyncStatus(), migratie local→synced, syncStatus DEFAULT 'pending' - WeightChart: filtert 0-waarden uit vetmassa/spiermassa, verbergt chart bij <2 datapunten - HistoryScreen/MeasurementDetailScreen: delete flow naar DB-only (setDeletedAt + updateSyncStatus) - eas.json: appVersionSource toegevoegd tegen waarschuwing - README bijgewerkt met outbox-pattern documentatie - 16/16 tests, TypeScript clean
This commit is contained in:
parent
d09951c493
commit
aca968bbda
1 changed files with 257 additions and 213 deletions
|
|
@ -68,7 +68,11 @@ export default function SettingsScreen() {
|
|||
try {
|
||||
const { syncAll } = await import('../sync/syncService')
|
||||
const result = await syncAll()
|
||||
Alert.alert('Sync voltooid', `Opgehaald: ${result.pulled}, gepusht: ${result.pushed}, verwijderd: ${result.deleted}`)
|
||||
let msg = `Opgehaald: ${result.pulled}, gepusht: ${result.pushed}, verwijderd: ${result.deleted}`
|
||||
if (result.errors.length > 0) {
|
||||
msg += `\n\nFouten: ${result.errors.join(', ')}`
|
||||
}
|
||||
Alert.alert('Sync voltooid', msg)
|
||||
} catch (e: any) {
|
||||
Alert.alert('Sync fout', e?.message ?? 'Onbekende fout')
|
||||
} finally {
|
||||
|
|
|
|||
Loading…
Reference in a new issue