Added logic to YourTenders
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/views/your_tenders/model/tender_model.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 {
|
||||
@@ -8,22 +10,61 @@ class ApprovedTenders extends StatelessWidget {
|
||||
|
||||
@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: EdgeInsets.only(top: 20.0.h()),
|
||||
itemCount: approvedTenders.length,
|
||||
padding: const EdgeInsets.only(top: 20),
|
||||
itemCount: tenders.length,
|
||||
itemBuilder: (context, index) {
|
||||
final tender = approvedTenders[index];
|
||||
final t = tenders[index];
|
||||
return TenderCard(
|
||||
date: tender.date,
|
||||
title: tender.title,
|
||||
description: tender.description,
|
||||
location: tender.location,
|
||||
countryFlag: tender.countryFlag,
|
||||
status: tender.status,
|
||||
projectStatus: tender.projectStatus,
|
||||
backgroundColor: tender.backgroundColor,
|
||||
borderColor: tender.borderColor,
|
||||
statusIcon: tender.statusIcon,
|
||||
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,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
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/core/utils/size_config.dart';
|
||||
import 'package:tm_app/views/your_tenders/model/tender_model.dart';
|
||||
import 'package:tm_app/view_models/your_tenders_view_model.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
|
||||
|
||||
class TendersSubmitted extends StatelessWidget {
|
||||
@@ -10,34 +10,61 @@ class TendersSubmitted extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView.builder(
|
||||
padding: EdgeInsets.only(top: 20.0.h()),
|
||||
itemCount: tendersSubmitted.length,
|
||||
itemBuilder: (context, index) {
|
||||
final tender = tendersSubmitted[index];
|
||||
return TenderCard(
|
||||
date: tender.date,
|
||||
title: tender.title,
|
||||
description: tender.description,
|
||||
location: tender.location,
|
||||
countryFlag: tender.countryFlag,
|
||||
status: tender.status,
|
||||
projectStatus: tender.projectStatus,
|
||||
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?.tendersSubmitted ?? [];
|
||||
|
||||
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:
|
||||
tender.status == 'Won'
|
||||
t.status == 'Won'
|
||||
? AppColors.gren0
|
||||
: t.status == 'Completed'
|
||||
? AppColors.white
|
||||
: AppColors.red0.withValues(alpha: 0.2),
|
||||
borderColor:
|
||||
tender.status == 'Won' ? AppColors.green10 : AppColors.red0,
|
||||
t.status == 'Won'
|
||||
? AppColors.green10
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanAqua
|
||||
: AppColors.red0,
|
||||
statusIcon:
|
||||
tender.status == 'Won'
|
||||
t.status == 'Won'
|
||||
? AssetsManager.tickCircle
|
||||
: t.status == 'Completed'
|
||||
? null
|
||||
: AssetsManager.closeCircle,
|
||||
statusCardColor:
|
||||
tender.status == 'Won' ? AppColors.green20 : AppColors.red0,
|
||||
t.status == 'Won'
|
||||
? AppColors.green20
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanAqua
|
||||
: AppColors.red0,
|
||||
statusTextColor:
|
||||
tender.status == 'Won' ? AppColors.gren30 : AppColors.red10,
|
||||
t.status == 'Won'
|
||||
? AppColors.gren30
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanTeal
|
||||
: AppColors.red10,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user