import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:wow_english/common/core/app_config_helper.dart'; import 'package:wow_english/common/extension/string_extension.dart'; import 'package:wow_english/pages/moduleSelect/state.dart'; import 'package:wow_english/pages/moduleSelect/widgets/BaseHomeHeaderWidget.dart'; import '../../common/core/user_util.dart'; import '../../common/dialogs/show_dialog.dart'; import 'bloc.dart'; import 'event.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:wow_english/route/route.dart'; class ModuleSelectPage extends StatelessWidget { const ModuleSelectPage({super.key}); @override Widget build(BuildContext context) { return BlocProvider( create: (BuildContext context) => ModuleSelectBloc()..add(InitEvent()), child: Builder(builder: (context) => _HomePageView()), ); } } class _HomePageView extends StatelessWidget { @override Widget build(BuildContext context) { final bloc = BlocProvider.of(context); return BlocListener( listener: (context, state) {}, child: _homeView(), ); } Widget _homeView() => BlocBuilder( builder: (context, state) { final bloc = BlocProvider.of(context); return Scaffold( body: Container( color: Colors.white, child: Column( children: [ const BaseHomeHeaderWidget(), Expanded( child: Center( child: Row( children: [ Expanded( child: GestureDetector( onTap: () { if (UserUtil.isLogined()) { pushNamed(AppRouteName.home); } else { pushNamed(AppRouteName.login); } }, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Stack( alignment: AlignmentDirectional.center, children: [ Image.asset('bg_frame_module'.assetPng, width: 162.5.w, height: 203.5.h), Center( child: Image.asset( 'pic_module_study'.assetPng, width: 140.5.w, height: 172.h), ) ]), 10.verticalSpace, Image.asset('label_module_study'.assetPng, width: 124.w, height: 34.h), ], ), ), ), Expanded( child: GestureDetector( onTap: () { //如果没登录先登录 if (UserUtil.isLogined()) { if (AppConfigHelper.shouldHidePay()) { pushNamed(AppRouteName.games); } else { if (UserUtil.hasGamePermission()) { pushNamed(AppRouteName.games); } else { showTwoActionDialog( '提示', '忽略', '去续费', '您的课程已到期,请快快续费继续学习吧!', leftTap: () { popPage(); }, rightTap: () { popPage(); pushNamed(AppRouteName.shop); }); } } } else { pushNamed(AppRouteName.login); } }, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Stack( alignment: AlignmentDirectional.center, children: [ Image.asset('bg_frame_module'.assetPng, width: 162.5.w, height: 203.5.h), Image.asset('pic_module_game'.assetPng, width: 140.5.w, height: 172.h) ]), 10.verticalSpace, Image.asset('label_module_game'.assetPng, width: 124.w, height: 34.h), ], )), ), ], ), ), ) ], ), ), ); }); }