import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:tm_app/core/constants/strings.dart'; import 'package:tm_app/data/services/model/tender_data/tender_data.dart'; import 'package:tm_app/views/home/widgets/tender_card_progress_bar.dart'; import '../../core/constants/assets.dart'; import '../../core/theme/colors.dart'; import '../../core/utils/size_config.dart'; class TendersListItem extends StatelessWidget { const TendersListItem({required this.tender, super.key}); final TenderData tender; @override Widget build(BuildContext context) { return Container( decoration: BoxDecoration( color: AppColors.cardBackground, borderRadius: BorderRadius.circular(4), border: Border.all(color: AppColors.grey30), ), margin: EdgeInsetsDirectional.only(end: 16.0.w()), width: 320.0.w(), child: Padding( padding: EdgeInsets.symmetric(horizontal: 16.0.w(), vertical: 16.0.h()), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( width: double.infinity, child: Text( timeConvertor(tender.publicationDate!), style: TextStyle( fontSize: 12.0.sp(), fontWeight: FontWeight.w400, color: AppColors.grey60, ), ), ), SizedBox(height: 10.0.h()), Container( padding: EdgeInsets.symmetric( horizontal: 10.0.w(), vertical: 5.0.h(), ), decoration: BoxDecoration( color: AppColors.primary2, borderRadius: BorderRadius.circular(4), ), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( '${AppStrings.tenderDeadline} :', style: TextStyle( fontSize: 15.0.sp(), fontWeight: FontWeight.w500, color: AppColors.textBlue, ), ), Text( timeConvertor(tender.tenderDeadline!), style: TextStyle( fontSize: 14.0.sp(), fontWeight: FontWeight.w500, color: AppColors.grey80, ), ), ], ), ), SizedBox(height: 12.0.h()), Text( tender.title!, style: TextStyle( overflow: TextOverflow.ellipsis, fontSize: 16.0.sp(), fontWeight: FontWeight.w600, color: AppColors.grey80, ), ), SizedBox(height: 8.0.h()), SizedBox( width: double.infinity, child: Text( tender.description!, textAlign: TextAlign.left, maxLines: 4, overflow: TextOverflow.ellipsis, style: TextStyle( fontSize: 14.0.sp(), fontWeight: FontWeight.w400, color: AppColors.grey70, ), ), ), Spacer(), // SizedBox(height: 18.0.h()), TenderCardProgressBar(), SizedBox(height: 15.0.h()), Row( children: [ SvgPicture.asset(AssetsManager.location), SizedBox(width: 1.0.w()), Text( tender.countryCode!, style: TextStyle( fontSize: 12.0.sp(), fontWeight: FontWeight.w400, color: AppColors.grey80, ), ), SizedBox(width: 8.0.w()), SizedBox( width: 32.0.w(), height: 21.0.h(), child: Image.asset(AssetsManager.seFlag, fit: BoxFit.cover), ), Spacer(), // Container( // width: 96.0.w(), // height: 24.0.h(), // decoration: BoxDecoration( // color: AppColors.grey30, // borderRadius: BorderRadius.circular(88), // ), // alignment: Alignment.center, // child: Text( // 'tender.type', // style: TextStyle( // fontSize: 12.0.sp(), // fontWeight: FontWeight.w500, // color: AppColors.grey60, // ), // ), // ), ], ), ], ), ), ); } } String timeConvertor(int time) { DateTime date = DateTime.fromMillisecondsSinceEpoch(time); String formattedDate = "${date.year}-${date.month.toString().padLeft(2, '0')}-${date.day.toString().padLeft(2, '0')}"; return formattedDate; }