Files
tm_app/lib/views/your_tenders/widgets/approved_tenders.dart
T
2025-08-11 15:52:13 +03:30

73 lines
2.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/view_models/your_tenders_view_model.dart';
import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
class ApprovedTenders extends StatelessWidget {
const ApprovedTenders({super.key});
@override
Widget build(BuildContext context) {
final vm = Provider.of<YourTendersViewModel>(context);
if (vm.isLoading) {
return const Center(child: CircularProgressIndicator());
}
if (vm.errorMessage != null) {
return Center(child: Text(vm.errorMessage!));
}
final tenders = vm.data?.approvedTenders ?? [];
return ListView.builder(
padding: const EdgeInsets.only(top: 20),
itemCount: tenders.length,
itemBuilder: (context, index) {
final t = tenders[index];
return TenderCard(
date: t.date,
title: t.title,
description: t.description,
location: t.location,
countryFlag: t.countryFlag,
status: t.status,
projectStatus: t.projectStatus,
backgroundColor:
t.status == 'Won'
? AppColors.gren0
: t.status == 'Completed'
? AppColors.white
: AppColors.red0.withValues(alpha: 0.2),
borderColor:
t.status == 'Won'
? AppColors.green10
: t.status == 'Completed'
? AppColors.cyanAqua
: AppColors.red0,
statusIcon:
t.status == 'Won'
? AssetsManager.tickCircle
: t.status == 'Completed'
? null
: AssetsManager.closeCircle,
statusCardColor:
t.status == 'Won'
? AppColors.green20
: t.status == 'Completed'
? AppColors.cyanAqua
: AppColors.red0,
statusTextColor:
t.status == 'Won'
? AppColors.gren30
: t.status == 'Completed'
? AppColors.cyanTeal
: AppColors.red10,
);
},
);
}
}