Add glitchtip for centralized error logging
This commit is contained in:
+69
-50
@@ -1,3 +1,4 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:intl/date_symbol_data_local.dart';
|
||||
@@ -10,6 +11,7 @@ import 'package:kooltab2/viewmodels/inventory_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/pin_lock_view_model.dart';
|
||||
import 'package:kooltab2/viewmodels/settings_view_model.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||
|
||||
import 'app/app.dart';
|
||||
import 'app/app_bootstrap.dart';
|
||||
@@ -41,60 +43,77 @@ Future<void> main() async {
|
||||
|
||||
final appRouter = createAppRouter(pinLockViewModel);
|
||||
|
||||
runApp(
|
||||
MultiProvider(
|
||||
providers: [
|
||||
Provider<AppDatabase>.value(value: database),
|
||||
Provider<ProductService>(
|
||||
create: (context) =>
|
||||
DriftProductService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
Provider<BarTabService>(
|
||||
create: (context) =>
|
||||
DriftBarTabService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
Provider<SettingsService>(
|
||||
create: (context) =>
|
||||
DriftSettingsService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
ChangeNotifierProvider<InventoryViewModel>(
|
||||
create: (context) =>
|
||||
InventoryViewModel(productService: context.read<ProductService>())
|
||||
..load(),
|
||||
),
|
||||
ChangeNotifierProvider<ProductListViewModel>(
|
||||
create: (context) => ProductListViewModel(
|
||||
productService: context.read<ProductService>(),
|
||||
inventory: context.read<InventoryViewModel>(),
|
||||
await SentryFlutter.init(
|
||||
(options) {
|
||||
options.dsn =
|
||||
'https://2c31c1baf3ee495288ad08a56d7baf0e@glitchtip.brammie15.dev/1';
|
||||
options.tracesSampleRate = kReleaseMode ? 0.1 : 1.0;
|
||||
options.enableAutoSessionTracking = false;
|
||||
options.attachScreenshot = true;
|
||||
options.attachViewHierarchy = true;
|
||||
options.enableLogs = true;
|
||||
options.attachThreads = true;
|
||||
|
||||
options.replay.onErrorSampleRate = 1.0;
|
||||
options.replay.sessionSampleRate = 0.05;
|
||||
},
|
||||
appRunner: () => runApp(
|
||||
MultiProvider(
|
||||
providers: [
|
||||
Provider<AppDatabase>.value(value: database),
|
||||
Provider<ProductService>(
|
||||
create: (context) =>
|
||||
DriftProductService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<BarScreenViewModel>(
|
||||
create: (context) => BarScreenViewModel(
|
||||
barTabService: context.read<BarTabService>(),
|
||||
inventory: context.read<InventoryViewModel>(),
|
||||
Provider<BarTabService>(
|
||||
create: (context) =>
|
||||
DriftBarTabService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<HistoryViewModel>(
|
||||
create: (context) =>
|
||||
HistoryViewModel(barTabService: context.read<BarTabService>()),
|
||||
),
|
||||
ChangeNotifierProvider<PinLockViewModel>.value(value: pinLockViewModel),
|
||||
ChangeNotifierProvider<SettingsViewModel>(
|
||||
create: (context) => SettingsViewModel(
|
||||
settingsService: context.read<SettingsService>(),
|
||||
Provider<SettingsService>(
|
||||
create: (context) =>
|
||||
DriftSettingsService(database: context.read<AppDatabase>()),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<DevMenuViewModel>(
|
||||
create: (context) => DevMenuViewModel(
|
||||
database: context.read<AppDatabase>(),
|
||||
productService: context.read<ProductService>(),
|
||||
barTabService: context.read<BarTabService>(),
|
||||
settingsService: context.read<SettingsService>(),
|
||||
pinLockService: PinLockService(),
|
||||
ChangeNotifierProvider<InventoryViewModel>(
|
||||
create: (context) => InventoryViewModel(
|
||||
productService: context.read<ProductService>(),
|
||||
)..load(),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: AppBootstrap(child: KoolTabApp(router: appRouter)),
|
||||
ChangeNotifierProvider<ProductListViewModel>(
|
||||
create: (context) => ProductListViewModel(
|
||||
productService: context.read<ProductService>(),
|
||||
inventory: context.read<InventoryViewModel>(),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<BarScreenViewModel>(
|
||||
create: (context) => BarScreenViewModel(
|
||||
barTabService: context.read<BarTabService>(),
|
||||
inventory: context.read<InventoryViewModel>(),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<HistoryViewModel>(
|
||||
create: (context) =>
|
||||
HistoryViewModel(barTabService: context.read<BarTabService>()),
|
||||
),
|
||||
ChangeNotifierProvider<PinLockViewModel>.value(
|
||||
value: pinLockViewModel,
|
||||
),
|
||||
ChangeNotifierProvider<SettingsViewModel>(
|
||||
create: (context) => SettingsViewModel(
|
||||
settingsService: context.read<SettingsService>(),
|
||||
),
|
||||
),
|
||||
ChangeNotifierProvider<DevMenuViewModel>(
|
||||
create: (context) => DevMenuViewModel(
|
||||
database: context.read<AppDatabase>(),
|
||||
productService: context.read<ProductService>(),
|
||||
barTabService: context.read<BarTabService>(),
|
||||
settingsService: context.read<SettingsService>(),
|
||||
pinLockService: PinLockService(),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: AppBootstrap(child: KoolTabApp(router: appRouter)),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user