sync transactions with pocketbase 2

This commit is contained in:
davmar
2026-09-09 22:31:04 +02:00
parent 96627a830e
commit e35a4d6893
12 changed files with 1442 additions and 12 deletions
+10 -7
View File
@@ -34,6 +34,10 @@ class AccountScreen extends StatelessWidget {
? 'Not synced yet'
: 'Last sync ${_formatTime(lastSync)}';
final categorized = meta.labeledTransactionCount(bank.transactions);
final perTxAnnotations = meta.syncableAnnotationCount;
final viaMerchantOnly = meta.merchantOnlyLabeledCount(bank.transactions);
return Scaffold(
appBar: AppBar(title: const Text('Account')),
body: ResponsiveBody(
@@ -119,13 +123,12 @@ class AccountScreen extends StatelessWidget {
leading: const Icon(Icons.phone_android_outlined),
title: const Text('What syncs'),
subtitle: Text(
'Bank cache stays on this device '
'(${bank.transactions.length} transactions).\n'
'Cloud gets labels/notes only: '
'${meta.syncableAnnotationCount} annotated txs, '
'${meta.merchantRuleCount} merchant rules, '
'${meta.customLabelCount} custom labels.\n'
'PocketBase tx_meta ≈ annotated count, not bank total.',
'Categorized on device: $categorized\n'
'· Per-tx annotations → PocketBase tx_meta: $perTxAnnotations\n'
'· Via merchant rules only (not separate tx_meta rows): $viaMerchantOnly\n'
'Merchant rules synced: ${meta.merchantRuleCount}\n'
'Bank transactions → PocketBase transactions: '
'${bank.transactions.length}',
),
isThreeLine: true,
),
+2 -2
View File
@@ -77,8 +77,8 @@ class _LoginScreenState extends State<LoginScreen> {
),
const SizedBox(height: 8),
Text(
'Sign in to link this device with PocketBase. Your labels, '
'notes, and bank cache stay on this phone until sync is added.',
'Sign in to link this device with PocketBase. Labels, notes, '
'and bank transactions sync across your devices.',
style: theme.textTheme.bodyMedium?.copyWith(
color: theme.colorScheme.onSurfaceVariant,
),