Files
sendico/frontend/pshared/lib/provider/payment/source.dart
2026-02-04 02:01:22 +03:00

34 lines
933 B
Dart

import 'package:flutter/foundation.dart';
import 'package:pshared/models/payment/source.dart';
import 'package:pshared/provider/ledger.dart';
import 'package:pshared/provider/payment/wallets.dart';
class PaymentSourceProvider extends ChangeNotifier {
List<PaymentSource> _sources = const [];
List<PaymentSource> get sources => _sources;
void update(
WalletsProvider walletsProvider,
LedgerAccountsProvider ledgerProvider,
) {
final nextSources = <PaymentSource>[
...walletsProvider.wallets.map(PaymentSource.wallet),
...ledgerProvider.accounts.map(PaymentSource.ledger),
];
final currentKeys = _sources
.map((source) => source.key)
.toList(growable: false);
final nextKeys = nextSources
.map((source) => source.key)
.toList(growable: false);
if (listEquals(currentKeys, nextKeys)) return;
_sources = nextSources;
notifyListeners();
}
}