based_of_eng_game 0.3.8
based_of_eng_game: ^0.3.8 copied to clipboard
based of eng game
example/lib/main.dart
import 'package:based_of_eng_game/based_of_eng_game.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'injection/injection_container.dart' as di;
import 'bloc/contact_lesson_bloc.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await di.init();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: ScreenUtilInit(
designSize: const Size(360, 690),
minTextAdapt: true,
splitScreenMode: true,
builder: (_, child) {
return BlocProvider<ContactLessonBloc>(
create: (_) => di.sl<ContactLessonBloc>()
// ..add(GetContactLessonRequest(lessonId: 1708, gameId: 5)),
..add(GetContactLessonRequest(lessonId: 5, gameId: 1708)),
// ..add(GetContactLessonRequest(lessonId: 184, gameId: 2342)),
// ..add(GetContactLessonRequest(lessonId: 5, gameId: 1708)),
child: BlocConsumer<ContactLessonBloc, ContactLessonState>(
listener: (context, state) {
if (state is GetContactErrorInitial) {
debugPrint('state.message:${state.message}');
// final snackBar = SnackBar(
// content: Text(state.message),
// );
// ScaffoldMessenger.of(context).showSnackBar(snackBar);
} else if (state is LogOutLoadingState) {
Navigator.of(context).pop();
} else if (state is GetContactInitial) {
// try {
MainDataOfChapters? dataType = state.getMainContactData(
index: 0,
);
debugPrint('dataType:$dataType');
// } catch (e) {
// debugPrint('error data type'+e.toString());
// context
// .read<ContactLessonBloc>()
// .add(ThisTypeNotSupportedRequest());
// }
}
},
builder: (context, stateOfGameData) {
if (stateOfGameData is GetContactInitial) {
return MainScreenOfGames(
stateOfGameData: stateOfGameData.data,
dataOfBasesGame: stateOfGameData.getMainContactData(
index: 0,
),
actionOfCompleteGame: (int countOfStars) {
// List<int> listOfIds = stateOfGameData.data;
List<int> listOfIds = stateOfGameData.data
.map((game) => game.id ?? 0)
.toList();
debugPrint(
'#########################################');
debugPrint(
'the stars send: $listOfIds , $countOfStars');
debugPrint(
'#########################################');
},
showTheEditedGames: false,
backButton: () {
debugPrint(
'backButton#########################################');
Navigator.of(context).pop();
Navigator.of(context).pop();
},
);
} else {
return const CircularProgressIndicator();
}
},
));
}));
}
}