import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:wow_english/common/extension/string_extension.dart'; import 'package:wow_english/common/widgets/ow_image_widget.dart'; import 'package:wow_english/models/course_module_entity.dart'; import '../../section/courese_module_model.dart'; class ModuleItemWidget extends StatelessWidget { const ModuleItemWidget({super.key, required this.isSelected, this.model, this.onClickEvent}); ///是否被选中 final bool isSelected; final CourseModuleEntity? model; final Function()? onClickEvent; @override Widget build(BuildContext context) { return GestureDetector( onTap: () { if (!isSelected) { return; } onClickEvent?.call(); }, child: isSelected?_selectWidget():_unSelectWidget(), ); } Widget _unSelectWidget() { return Container( padding: const EdgeInsets.all(20), decoration: BoxDecoration( image: DecorationImage( image: AssetImage('gendubeij'.assetPng) ) ), child: OwImageWidget( name: model?.picUrl??'', ), ); } Widget _selectWidget() { return Container( padding: const EdgeInsets.all(10), decoration: BoxDecoration( image: DecorationImage( image: AssetImage( 'gendubeij'.assetPng, ), fit: BoxFit.fill ), ), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( child: OwImageWidget( name: model?.picUrl??'', ), ), 10.verticalSpace, Container( decoration: BoxDecoration( color: CourseModuleModel(model?.code??'Phase-1').color, borderRadius: BorderRadius.circular(6.r), border: Border.all( color: const Color(0xFF333333), width: 1.0 ) ), padding: EdgeInsets.symmetric(horizontal: 10.w), child: Column( children: [ Text( model?.name??'', style: TextStyle( color: Colors.white, fontSize: 12.sp ), ), Text( model?.des??'', maxLines: 1, style: TextStyle( color: Colors.white, fontSize: 12.sp ), ) ], ), ) ], ), ); } }