import 'package:core/core.dart'; import 'package:flutter/material.dart'; import 'app.dart'; import 'composition/app_config.dart'; import 'composition/app_scope.dart'; import 'composition/app_services.dart'; import 'composition/bootstrap.dart'; void main() { final config = AppConfig.fromEnvironment(); final (:services, config: effectiveConfig) = Bootstrap.run(config); // Route uncaught framework and platform errors into the structured logger // before the first frame, so startup failures are captured too. KcErrorReporter.install(services.logger); services.logger.info( 'Application starting', source: 'main', context: { 'environment': effectiveConfig.environment.key, 'requestedEnvironment': config.environment.key, 'fellBackToFake': config.environment != effectiveConfig.environment, 'appVersion': AppServices.appVersion, }, ); KcErrorReporter.runGuarded(services.logger, () { runApp(AppScope(services: services, config: effectiveConfig, child: const KellWebApp())); }); }