sync transactions with pocketbase
This commit is contained in:
+14
-1
@@ -9,6 +9,7 @@ import 'package:provider/provider.dart';
|
||||
|
||||
import 'providers/auth_provider.dart';
|
||||
import 'providers/bank_provider.dart';
|
||||
import 'providers/sync_provider.dart';
|
||||
import 'providers/theme_provider.dart';
|
||||
import 'providers/tx_meta_provider.dart';
|
||||
import 'screens/splash_screen.dart';
|
||||
@@ -17,6 +18,7 @@ import 'utils/app_config.dart';
|
||||
import 'utils/app_theme.dart';
|
||||
import 'utils/constants.dart';
|
||||
import 'widgets/skip_build_when_covered.dart';
|
||||
import 'widgets/sync_feedback_listener.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
@@ -45,12 +47,16 @@ class MyApp extends StatefulWidget {
|
||||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
late final BankController _bank;
|
||||
late final TxMetaController _meta;
|
||||
late final SyncController _sync;
|
||||
late final AppLinks _appLinks;
|
||||
StreamSubscription<Uri>? _linkSub;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_meta = TxMetaController(widget.storage);
|
||||
_sync = SyncController(auth: widget.auth, meta: _meta);
|
||||
_bank = BankController(storage: widget.storage)..refresh();
|
||||
_appLinks = AppLinks();
|
||||
_listenForBankRedirects();
|
||||
@@ -79,6 +85,7 @@ class _MyAppState extends State<MyApp> {
|
||||
@override
|
||||
void dispose() {
|
||||
_linkSub?.cancel();
|
||||
_sync.dispose();
|
||||
_bank.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
@@ -89,7 +96,8 @@ class _MyAppState extends State<MyApp> {
|
||||
providers: [
|
||||
ChangeNotifierProvider<AuthController>.value(value: widget.auth),
|
||||
ChangeNotifierProvider(create: (_) => ThemeController(widget.storage)),
|
||||
ChangeNotifierProvider(create: (_) => TxMetaController(widget.storage)),
|
||||
ChangeNotifierProvider<TxMetaController>.value(value: _meta),
|
||||
ChangeNotifierProvider<SyncController>.value(value: _sync),
|
||||
ChangeNotifierProvider<BankController>.value(value: _bank),
|
||||
],
|
||||
child: const _MaterialRoot(),
|
||||
@@ -111,6 +119,11 @@ class _MaterialRoot extends StatelessWidget {
|
||||
darkTheme: AppTheme.dark(),
|
||||
themeMode: themeMode,
|
||||
navigatorObservers: [appRouteObserver],
|
||||
builder: (context, child) {
|
||||
return SyncFeedbackListener(
|
||||
child: child ?? const SizedBox.shrink(),
|
||||
);
|
||||
},
|
||||
home: const SplashScreen(),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user