| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- 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,
- ),
- ),
- ],
- ),
- ],
- ),
- );
- }
- }
|