import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:news_app/model/activity_model.dart'; import 'package:news_app/ui/activity/activity_detail_page.dart'; import 'package:news_app/widget/load_image.dart'; import '../../constant/color_res.dart'; import '../../constant/size_res.dart'; import '../../util/time_util.dart'; import '../../widget/my_txt.dart'; import '../../widget/tag_widget.dart'; /// @author: bo.zeng /// @email: cnhbwds@gmail.com /// @date: 2025 2025/4/9 16:00 /// @description: class ActivityCardWidget extends StatelessWidget { final ActivityModelRecord cellData; const ActivityCardWidget({super.key, required this.cellData}); @override Widget build(BuildContext context) { return Container( padding: EdgeInsets.all(horizontalPadding), decoration: BoxDecoration( borderRadius: BorderRadius.circular(8.r), color: Colors.white, ), child: Column( children: [ Row( children: [ Flexible( flex: 4, child: ClipRRect( borderRadius: BorderRadius.circular(8.r), child: LoadImage( cellData.image ?? '', height: 90.h, width: 116.w, holderImg: 'none', fit: BoxFit.cover, ), ), ), SizedBox(width: 10.w), Flexible( flex: 6, child: SizedBox( height: 68.h, child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ myTxt( text: cellData.title ?? "金融赋能镇江高质量发展大会", fontSize: 12.sp, fontWeight: FontWeight.bold, color: Colors.black, ), SizedBox(height: 15.h), Row( children: [ Icon( Icons.timer_outlined, color: color666666, size: 12.w, ), SizedBox(width: 2.w), Expanded( child: myTxt( text: "${TimeUtil.formatTime(cellData.activityStartTime)} / ${TimeUtil.formatTime(cellData.activityEndTime)}", fontSize: 10.sp, fontWeight: FontWeight.bold, color: color666666, ), ), ], ), Row( children: [ Icon( Icons.location_on_outlined, color: color666666, size: 12.w, ), myTxt( text: cellData.activityLocation ?? "镇江市碧桂园宾馆金山楼金山厅", fontSize: 10.sp, fontWeight: FontWeight.bold, color: color666666, ), ], ), ], ), ), ), ], ), SizedBox(height: 10.h), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( spacing: 5.w, children: [ TagGradientWidget( size: Size(50.w, 20.h), gradientColor: [color6592FD, color85C3FD], child: myTxt( text: getRegisterStatus(cellData.registerStatus ?? ""), color: Colors.white, fontSize: 10.sp, ), ), myTxt( text: "限${cellData.registerLimit}人报名参加", color: color666666, fontSize: 10.sp, ), ], ), Container( padding: EdgeInsets.symmetric(horizontal: 10.w, vertical: 5.h), decoration: BoxDecoration( borderRadius: BorderRadius.circular(30.r), color: color6592FD, ), child: myTxt( text: "进入活动", color: Colors.white, fontSize: 10.sp, ), ), ], ), ], ), ); } }