feat: add remote pull and push
This commit is contained in:
@@ -4,11 +4,13 @@ import 'package:flutter/services.dart';
|
||||
import 'package:intl/date_symbol_data_local.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:kooltab2/services/pin_lock_service.dart';
|
||||
import 'package:kooltab2/services/remote_sync_service.dart';
|
||||
import 'package:kooltab2/services/settings_service.dart';
|
||||
import 'package:kooltab2/viewmodels/dev_menu_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/history_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/inventory_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/pin_lock_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/registration_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/settings_view_model.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||
@@ -23,6 +25,7 @@ import 'services/product_service.dart';
|
||||
import 'viewmodels/bar_screen_view_model.dart';
|
||||
import 'viewmodels/admin_pin_view_model.dart';
|
||||
import 'viewmodels/product_list_view_model.dart';
|
||||
import 'viewmodels/remote_sync_view_model.dart';
|
||||
|
||||
Future<void> main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
@@ -48,9 +51,29 @@ Future<void> main() async {
|
||||
);
|
||||
await adminPinViewModel.ensureLoaded();
|
||||
|
||||
final remoteSyncService = RemoteSyncService(
|
||||
database: database,
|
||||
barTabService: DriftBarTabService(database: database),
|
||||
);
|
||||
|
||||
final remoteSyncViewModel = RemoteSyncViewModel(
|
||||
syncService: remoteSyncService,
|
||||
);
|
||||
|
||||
final isConfiguredNotifier = ValueNotifier<bool>(await remoteSyncService.isConfigured);
|
||||
|
||||
remoteSyncViewModel.addListener(() {
|
||||
isConfiguredNotifier.value = remoteSyncViewModel.isConfigured;
|
||||
});
|
||||
|
||||
final registrationViewModel = RegistrationViewModel(
|
||||
syncService: remoteSyncService,
|
||||
);
|
||||
|
||||
final appRouter = createAppRouter(
|
||||
pinLockViewModel,
|
||||
adminPinViewModel: adminPinViewModel,
|
||||
isConfiguredNotifier: isConfiguredNotifier,
|
||||
);
|
||||
|
||||
await SentryFlutter.init(
|
||||
@@ -83,6 +106,13 @@ Future<void> main() async {
|
||||
create: (context) =>
|
||||
DriftSettingsService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
Provider<RemoteSyncService>.value(value: remoteSyncService),
|
||||
ChangeNotifierProvider<RemoteSyncViewModel>.value(
|
||||
value: remoteSyncViewModel,
|
||||
),
|
||||
ChangeNotifierProvider<RegistrationViewModel>.value(
|
||||
value: registrationViewModel,
|
||||
),
|
||||
ChangeNotifierProvider<InventoryViewModel>(
|
||||
create: (context) => InventoryViewModel(
|
||||
productService: context.read<ProductService>(),
|
||||
@@ -98,6 +128,7 @@ Future<void> main() async {
|
||||
create: (context) => BarScreenViewModel(
|
||||
barTabService: context.read<BarTabService>(),
|
||||
inventory: context.read<InventoryViewModel>(),
|
||||
remoteSyncViewModel: context.read<RemoteSyncViewModel>(),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<HistoryViewModel>(
|
||||
|
||||
Reference in New Issue
Block a user