diff --git a/packages/espressocash_app/lib/features/accounts/module.dart b/packages/espressocash_app/lib/features/accounts/module.dart deleted file mode 100644 index eb0fb1a1d..000000000 --- a/packages/espressocash_app/lib/features/accounts/module.dart +++ /dev/null @@ -1,33 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:nested/nested.dart'; - -import '../../utils/callback.dart'; -import 'models/account.dart'; -import 'widgets/account_listener.dart'; - -class LogoutListener extends SingleChildStatefulWidget { - const LogoutListener({ - super.key, - super.child, - required this.onLogout, - }); - - final Callback1 onLogout; - - @override - State createState() => _LogoutListenerState(); -} - -class _LogoutListenerState extends SingleChildState - with AccountListener { - @override - void handleAccountChanged(MyAccount? account) { - if (account == null) { - widget.onLogout(context); - } - } - - @override - Widget buildWithChild(BuildContext context, Widget? child) => - child ?? const SizedBox.shrink(); -} diff --git a/packages/espressocash_app/lib/features/incoming_link_payments/data/ilp_repository.dart b/packages/espressocash_app/lib/features/incoming_link_payments/data/ilp_repository.dart index 6b8ba4f20..b9cfc31be 100644 --- a/packages/espressocash_app/lib/features/incoming_link_payments/data/ilp_repository.dart +++ b/packages/espressocash_app/lib/features/incoming_link_payments/data/ilp_repository.dart @@ -4,6 +4,7 @@ import 'package:dfunc/dfunc.dart'; import 'package:drift/drift.dart'; import 'package:espressocash_common/espressocash_common.dart'; import 'package:fast_immutable_collections/fast_immutable_collections.dart'; +import 'package:get_it/get_it.dart'; import 'package:injectable/injectable.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:solana/base58.dart'; @@ -11,12 +12,13 @@ import 'package:solana/encoder.dart'; import '../../../data/db/db.dart'; import '../../../data/db/mixins.dart'; +import '../../authenticated/auth_scope.dart'; import '../../escrow/models/escrow_private_key.dart'; import '../../transactions/models/tx_results.dart'; import '../models/incoming_link_payment.dart'; -@injectable -class ILPRepository { +@Singleton(scope: authScope) +class ILPRepository implements Disposable { const ILPRepository(this._db); final MyDatabase _db; @@ -50,7 +52,8 @@ class ILPRepository { await _db.into(_db.iLPRows).insertOnConflictUpdate(await payment.toDto()); } - Future clear() => _db.delete(_db.iLPRows).go(); + @override + Future onDispose() => _db.delete(_db.iLPRows).go(); Stream> watchTxCreated() => _watchWithStatuses([ ILPStatusDto.txCreated, diff --git a/packages/espressocash_app/lib/features/incoming_link_payments/module.dart b/packages/espressocash_app/lib/features/incoming_link_payments/module.dart index 6475316e6..27a271220 100644 --- a/packages/espressocash_app/lib/features/incoming_link_payments/module.dart +++ b/packages/espressocash_app/lib/features/incoming_link_payments/module.dart @@ -3,9 +3,7 @@ import 'package:nested/nested.dart'; import 'package:provider/provider.dart'; import '../../di.dart'; -import '../accounts/module.dart'; import '../balances/widgets/context_ext.dart'; -import 'data/ilp_repository.dart'; import 'services/tx_created_watcher.dart'; import 'services/tx_sent_watcher.dart'; @@ -28,9 +26,6 @@ class ILPModule extends SingleChildStatelessWidget { dispose: (_, value) => value.dispose(), ), ], - child: LogoutListener( - onLogout: (_) => sl().clear(), - child: child ?? const SizedBox.shrink(), - ), + child: child, ); } diff --git a/packages/espressocash_app/lib/features/outgoing_link_payments/data/repository.dart b/packages/espressocash_app/lib/features/outgoing_link_payments/data/repository.dart index 93dfc132a..70827847f 100644 --- a/packages/espressocash_app/lib/features/outgoing_link_payments/data/repository.dart +++ b/packages/espressocash_app/lib/features/outgoing_link_payments/data/repository.dart @@ -4,6 +4,7 @@ import 'package:dfunc/dfunc.dart'; import 'package:drift/drift.dart'; import 'package:espressocash_common/espressocash_common.dart'; import 'package:fast_immutable_collections/fast_immutable_collections.dart'; +import 'package:get_it/get_it.dart'; import 'package:injectable/injectable.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import 'package:solana/base58.dart'; @@ -11,13 +12,14 @@ import 'package:solana/encoder.dart'; import '../../../data/db/db.dart'; import '../../../data/db/mixins.dart'; +import '../../authenticated/auth_scope.dart'; import '../../escrow/models/escrow_private_key.dart'; import '../../tokens/token_list.dart'; import '../../transactions/models/tx_results.dart'; import '../models/outgoing_link_payment.dart'; -@injectable -class OLPRepository { +@Singleton(scope: authScope) +class OLPRepository implements Disposable { const OLPRepository(this._db, this._tokens); final MyDatabase _db; @@ -91,7 +93,8 @@ class OLPRepository { OLPStatusDto.cancelTxSent, ]); - Future clear() => _db.delete(_db.oLPRows).go(); + @override + Future onDispose() => _db.delete(_db.oLPRows).go(); Stream> _watchWithStatuses( Iterable statuses, diff --git a/packages/espressocash_app/lib/features/outgoing_link_payments/module.dart b/packages/espressocash_app/lib/features/outgoing_link_payments/module.dart index d527b6562..306b4638c 100644 --- a/packages/espressocash_app/lib/features/outgoing_link_payments/module.dart +++ b/packages/espressocash_app/lib/features/outgoing_link_payments/module.dart @@ -4,9 +4,7 @@ import 'package:provider/provider.dart'; import '../../di.dart'; import '../accounts/models/account.dart'; -import '../accounts/module.dart'; import '../balances/widgets/context_ext.dart'; -import 'data/repository.dart'; import 'services/cancel_tx_created_watcher.dart'; import 'services/cancel_tx_sent_watcher.dart'; import 'services/tx_confirmed_watcher.dart'; @@ -58,9 +56,6 @@ class OLPModule extends SingleChildStatelessWidget { dispose: (_, value) => value.dispose(), ), ], - child: LogoutListener( - onLogout: (_) => sl().clear(), - child: child, - ), + child: child, ); }