import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:go_router/go_router.dart'; import 'package:news_app/ui/video/video_detail_page.dart'; import 'package:news_app/widget/load_image.dart'; import '../../constant/color_res.dart'; import '../../gen/assets.gen.dart'; import '../../model/activity_model.dart'; import '../../widget/my_txt.dart'; /// @author: bo.zeng /// @email: cnhbwds@gmail.com /// @date: 2025 2025/4/9 16:00 /// @description: class ActivityVideoItemWidget extends StatelessWidget { final ActivityModelRecord newData; const ActivityVideoItemWidget({super.key, required this.newData}); @override Widget build(BuildContext context) { return GestureDetector( onTap: () { context.push( '/video/detail', extra: VideoParam(id: newData.contentId ?? ""), ); }, child: Column( children: [ Flexible( flex: 9, child: Stack( alignment: Alignment.center, children: [ ClipRRect( borderRadius: BorderRadius.only( topLeft: Radius.circular(8.r), topRight: Radius.circular(8.r), ), child: LoadImage( newData.image ?? '', fit: BoxFit.cover, width: 170.w, height: 276.h, holderImg: 'none', ), ), Image.asset( Assets.images.playIcon.path, width: 40.w, height: 40.w, ), ], ), ), Flexible( flex: 1, child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.only( bottomLeft: Radius.circular(8.r), bottomRight: Radius.circular(8.r), ), color: Colors.white, ), padding: EdgeInsets.symmetric(vertical: 6.h), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox(width: 5.w), Expanded( child: myTxt( text: newData.title ?? "", color: Colors.black, maxLines: 1, fontSize: 10.sp, ), ), SizedBox(width: 2.w), Icon( newData.isLiked == true ? Icons.favorite : Icons.favorite_border, size: 12.w, ), myTxt( text: newData.status ?? "0", color: newData.isLiked == true ? Colors.red : color666666, fontSize: 10.sp, ), SizedBox(width: 5.w), ], ), ), ), ], ), ); } }