import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:labs/presentation/home_page/bloc/bloc.dart'; import 'package:labs/presentation/home_page/home_page.dart'; import 'package:labs/presentation/like_bloc/like_bloc.dart'; import 'package:labs/repo/activity_repo.dart'; import 'components/locale/l10n/app_locale.dart'; import 'domain/models/Activity.dart'; import 'presentation/locale_bloc/locale_bloc.dart'; import 'presentation/locale_bloc/locale_state.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Time Management App', theme: ThemeData( primarySwatch: Colors.blue, scaffoldBackgroundColor: Colors.white, ), home: ScaffoldMessenger( child: ActivityScreen(), ), ); } } class ActivityScreen extends StatefulWidget { @override _ActivityScreenState createState() => _ActivityScreenState(); } class _ActivityScreenState extends State { @override Widget build(BuildContext context) { return BlocProvider( lazy: false, create: (context) => LocaleBloc(Locale(Platform.localeName)), child: BlocBuilder( builder: (context, state) { return MaterialApp( title: 'Time Management', locale: state.currentLocale, localizationsDelegates: AppLocale.localizationsDelegates, supportedLocales: AppLocale.supportedLocales, debugShowCheckedModeBanner: false, theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.orangeAccent), useMaterial3: true, scaffoldBackgroundColor: Colors.white12, ), home: RepositoryProvider( lazy: true, create: (_) => ActivityRepository(), child: BlocProvider( lazy: false, create: (context) => LikeBloc(), child: BlocProvider( lazy: false, create: (context) => HomeBloc(context.read()), child: const MyHomePage(), ), ), ), ); }, ), ); } }