added approved api

This commit is contained in:
llsajjad
2025-08-19 22:22:17 +03:30
parent 343855a3ca
commit 4b0dc4cedf
15 changed files with 841 additions and 64 deletions
@@ -25,7 +25,7 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
controller = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<YourTendersViewModel>().getTenders();
context.read<YourTendersViewModel>().getApprovedTenders();
});
}
@@ -72,12 +72,11 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
controller: controller,
children: [
ApprovedTenders(
approvedTenders:
viewModel.data?.approvedTenders ?? [],
approvedTenders: viewModel.data!,
),
TendersSubmitted(
tendersSubmitted:
viewModel.data?.tendersSubmitted ?? [],
[],
),
],
);
@@ -25,7 +25,7 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage>
controller = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<YourTendersViewModel>().getTenders();
context.read<YourTendersViewModel>().getApprovedTenders();
});
}
@@ -65,10 +65,10 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage>
controller: controller,
children: [
ApprovedTenders(
approvedTenders: viewModel.data?.approvedTenders ?? [],
approvedTenders: viewModel.data!,
),
TendersSubmitted(
tendersSubmitted: viewModel.data?.tendersSubmitted ?? [],
tendersSubmitted: [],
),
],
);
@@ -25,7 +25,7 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
controller = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<YourTendersViewModel>().getTenders();
context.read<YourTendersViewModel>().getApprovedTenders();
});
}
@@ -72,12 +72,10 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
controller: controller,
children: [
ApprovedTenders(
approvedTenders:
viewModel.data?.approvedTenders ?? [],
approvedTenders: viewModel.data!,
),
TendersSubmitted(
tendersSubmitted:
viewModel.data?.tendersSubmitted ?? [],
tendersSubmitted: [],
),
],
);
@@ -1,58 +1,57 @@
import 'package:flutter/material.dart';
import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/data/services/model/tender_approvals_response/tender_approvals_response.dart';
import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
import '../../../data/services/model/your_tender_model/your_tender_model.dart';
class ApprovedTenders extends StatelessWidget {
const ApprovedTenders({required this.approvedTenders, super.key});
final List<YourTenderModel> approvedTenders;
final TenderApprovalsResponse approvedTenders;
@override
Widget build(BuildContext context) {
return ListView.builder(
padding: const EdgeInsets.only(top: 20),
itemCount: approvedTenders.length,
itemCount: approvedTenders.data!.length,
itemBuilder: (context, index) {
final tender = approvedTenders[index];
final tender = approvedTenders.data![index];
return TenderCard(
date: tender.date,
title: tender.title,
description: tender.description,
location: tender.location,
countryFlag: tender.countryFlag,
date: tender.createdAt!.toString(),
title: tender.tender!.title!,
description: tender.tender!.description!,
location: tender.tender!.countryCode!,
countryFlag: AssetsManager.seFlag,
status: tender.status,
projectStatus: tender.projectStatus,
projectStatus: tender.tender!.status!,
backgroundColor:
tender.status == 'Won'
? AppColors.green0
: tender.status == 'Completed'
: tender.status == 'approved'
? AppColors.grey0
: AppColors.red0.withValues(alpha: 0.2),
borderColor:
tender.status == 'Won'
? AppColors.green10
: tender.status == 'Completed'
: tender.status == 'approved'
? AppColors.grey30
: AppColors.red0,
statusIcon:
tender.status == 'Won'
? AssetsManager.tickCircle
: tender.status == 'Completed'
: tender.status == 'approved'
? null
: AssetsManager.closeCircle,
statusCardColor:
tender.status == 'Won'
? AppColors.green20
: tender.status == 'Completed'
: tender.status == 'approved'
? AppColors.green20
: AppColors.red0,
statusTextColor:
tender.status == 'Won'
? AppColors.green30
: tender.status == 'Completed'
: tender.status == 'approved'
? AppColors.green30
: AppColors.red10,
);