import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:halkyon_learn_flutter/src/core/bloc/app_bloc_observer.dart'; import 'package:halkyon_learn_flutter/src/core/dependencies/dependencies.dart'; import 'package:halkyon_learn_flutter/src/core/dependencies/dependencies_scope.dart'; import 'package:halkyon_learn_flutter/src/feature/auth/widget/session_gate.dart'; import 'package:halkyon_learn_flutter/src/feature/editor_playground/widget/editor_playground_screen.dart'; import 'package:material_ui/material_ui.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); Bloc.observer = const AppBlocObserver(); final dependencies = await Dependencies.create(); runApp( DependenciesScope( dependencies: dependencies, child: const HalkyonLearnApp(), ), ); } /// Builds a theme for the given [brightness]. ThemeData _buildTheme(Brightness brightness) { return ThemeData( colorScheme: ColorScheme.fromSeed( seedColor: Colors.blue, brightness: brightness, ), ); } class const HalkyonLearnApp({super.key}) extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Halkyon Learn', theme: _buildTheme(Brightness.light), darkTheme: _buildTheme(Brightness.dark), // Packages that still import package:flutter/material.dart (Serverpod's sign-in // widgets, the rich-text editor) see this app's theme and localizations only // through the bridge, since material_ui is a separate copy of that library. The // bridge is deprecated on purpose, as a reminder: remove it once they have moved. // ignore: deprecated_member_use builder: (context, child) => MaterialUiCompatibilityBridge(child: child!), home: const SessionGate(child: EditorPlaygroundScreen()), ); } }