fixed your tenders dark colors and some logic changed
This commit is contained in:
@@ -30,7 +30,7 @@ class _MainTabBarState extends State<MainTabBar> {
|
||||
indicatorSize: TabBarIndicatorSize.tab,
|
||||
dividerColor: Colors.transparent,
|
||||
indicator: BoxDecoration(
|
||||
color: AppColors.backgroundColor,
|
||||
color: AppColors.primary0,
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
|
||||
@@ -2,11 +2,11 @@ import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/constants/strings.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/shared/main_tab_bar.dart';
|
||||
import 'package:tm_app/views/shared/tender_app_bar.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
|
||||
import 'package:tm_app/view_models/your_tenders_view_model.dart';
|
||||
|
||||
class YourTendersDesktopPage extends StatefulWidget {
|
||||
const YourTendersDesktopPage({super.key});
|
||||
@@ -54,12 +54,34 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
controller: controller,
|
||||
children: const [
|
||||
ApprovedTenders(),
|
||||
TendersSubmitted(),
|
||||
],
|
||||
child: Consumer<YourTendersViewModel>(
|
||||
builder: (context, viewModel, child) {
|
||||
if (viewModel.isLoading) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.secondary50,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
|
||||
return TabBarView(
|
||||
controller: controller,
|
||||
children: [
|
||||
ApprovedTenders(
|
||||
approvedTenders:
|
||||
viewModel.data?.approvedTenders ?? [],
|
||||
),
|
||||
TendersSubmitted(
|
||||
tendersSubmitted:
|
||||
viewModel.data?.tendersSubmitted ?? [],
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -47,9 +47,32 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage>
|
||||
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
|
||||
),
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
controller: controller,
|
||||
children: const [ApprovedTenders(), TendersSubmitted()],
|
||||
child: Consumer<YourTendersViewModel>(
|
||||
builder: (context, viewModel, child) {
|
||||
if (viewModel.isLoading) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.secondary50,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
|
||||
return TabBarView(
|
||||
controller: controller,
|
||||
children: [
|
||||
ApprovedTenders(
|
||||
approvedTenders: viewModel.data?.approvedTenders ?? [],
|
||||
),
|
||||
TendersSubmitted(
|
||||
tendersSubmitted: viewModel.data?.tendersSubmitted ?? [],
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -2,11 +2,11 @@ import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tm_app/core/constants/strings.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/shared/main_tab_bar.dart';
|
||||
import 'package:tm_app/views/shared/tender_app_bar.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/approved_tenders.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
|
||||
import 'package:tm_app/view_models/your_tenders_view_model.dart';
|
||||
|
||||
class YourTendersTabletPage extends StatefulWidget {
|
||||
const YourTendersTabletPage({super.key});
|
||||
@@ -48,12 +48,40 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
|
||||
children: [
|
||||
MainTabBar(
|
||||
controller: controller,
|
||||
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
|
||||
titles: [
|
||||
AppStrings.approvedTenders,
|
||||
AppStrings.tenderSubmitted,
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
controller: controller,
|
||||
children: const [ApprovedTenders(), TendersSubmitted()],
|
||||
child: Consumer<YourTendersViewModel>(
|
||||
builder: (context, viewModel, child) {
|
||||
if (viewModel.isLoading) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.secondary50,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
|
||||
return TabBarView(
|
||||
controller: controller,
|
||||
children: [
|
||||
ApprovedTenders(
|
||||
approvedTenders:
|
||||
viewModel.data?.approvedTenders ?? [],
|
||||
),
|
||||
TendersSubmitted(
|
||||
tendersSubmitted:
|
||||
viewModel.data?.tendersSubmitted ?? [],
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
@@ -63,4 +91,4 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,69 +1,59 @@
|
||||
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';
|
||||
|
||||
import '../../../data/services/model/your_tender_model/your_tender_model.dart';
|
||||
|
||||
class ApprovedTenders extends StatelessWidget {
|
||||
const ApprovedTenders({super.key});
|
||||
const ApprovedTenders({required this.approvedTenders, super.key});
|
||||
|
||||
final List<YourTenderModel> approvedTenders;
|
||||
|
||||
@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,
|
||||
itemCount: approvedTenders.length,
|
||||
itemBuilder: (context, index) {
|
||||
final t = tenders[index];
|
||||
final tender = approvedTenders[index];
|
||||
return TenderCard(
|
||||
date: t.date,
|
||||
title: t.title,
|
||||
description: t.description,
|
||||
location: t.location,
|
||||
countryFlag: t.countryFlag,
|
||||
status: t.status,
|
||||
projectStatus: t.projectStatus,
|
||||
date: tender.date,
|
||||
title: tender.title,
|
||||
description: tender.description,
|
||||
location: tender.location,
|
||||
countryFlag: tender.countryFlag,
|
||||
status: tender.status,
|
||||
projectStatus: tender.projectStatus,
|
||||
backgroundColor:
|
||||
t.status == 'Won'
|
||||
? AppColors.gren0
|
||||
: t.status == 'Completed'
|
||||
tender.status == 'Won'
|
||||
? AppColors.green0
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.grey0
|
||||
: AppColors.red0.withValues(alpha: 0.2),
|
||||
borderColor:
|
||||
t.status == 'Won'
|
||||
tender.status == 'Won'
|
||||
? AppColors.green10
|
||||
: t.status == 'Completed'
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.grey30
|
||||
: AppColors.red0,
|
||||
statusIcon:
|
||||
t.status == 'Won'
|
||||
tender.status == 'Won'
|
||||
? AssetsManager.tickCircle
|
||||
: t.status == 'Completed'
|
||||
: tender.status == 'Completed'
|
||||
? null
|
||||
: AssetsManager.closeCircle,
|
||||
statusCardColor:
|
||||
t.status == 'Won'
|
||||
tender.status == 'Won'
|
||||
? AppColors.green20
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.green20
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanAqua
|
||||
: AppColors.red0,
|
||||
statusTextColor:
|
||||
t.status == 'Won'
|
||||
? AppColors.gren30
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanTeal
|
||||
tender.status == 'Won'
|
||||
? AppColors.green30
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.green30
|
||||
: AppColors.red10,
|
||||
);
|
||||
},
|
||||
|
||||
@@ -84,12 +84,16 @@ class TenderCard extends StatelessWidget {
|
||||
statusIcon!,
|
||||
width: 16.0.w(),
|
||||
height: 16.0.h(),
|
||||
colorFilter: ColorFilter.mode(
|
||||
statusTextColor ?? AppColors.green30,
|
||||
BlendMode.srcIn,
|
||||
),
|
||||
),
|
||||
SizedBox(width: 4.0.w()),
|
||||
Text(
|
||||
status,
|
||||
style: TextStyle(
|
||||
color: statusTextColor ?? AppColors.gren30,
|
||||
color: statusTextColor ?? AppColors.green30,
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
|
||||
@@ -1,70 +1,59 @@
|
||||
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/data/services/model/your_tender_model/your_tender_model.dart';
|
||||
import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
|
||||
|
||||
class TendersSubmitted extends StatelessWidget {
|
||||
const TendersSubmitted({super.key});
|
||||
const TendersSubmitted({required this.tendersSubmitted, super.key});
|
||||
|
||||
final List<YourTenderModel> tendersSubmitted;
|
||||
|
||||
@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?.tendersSubmitted ?? [];
|
||||
|
||||
return ListView.builder(
|
||||
padding: const EdgeInsets.only(top: 20),
|
||||
itemCount: tenders.length,
|
||||
itemCount: tendersSubmitted.length,
|
||||
itemBuilder: (context, index) {
|
||||
final t = tenders[index];
|
||||
final tender = tendersSubmitted[index];
|
||||
return TenderCard(
|
||||
date: t.date,
|
||||
title: t.title,
|
||||
description: t.description,
|
||||
location: t.location,
|
||||
countryFlag: t.countryFlag,
|
||||
status: t.status,
|
||||
projectStatus: t.projectStatus,
|
||||
date: tender.date,
|
||||
title: tender.title,
|
||||
description: tender.description,
|
||||
location: tender.location,
|
||||
countryFlag: tender.countryFlag,
|
||||
status: tender.status,
|
||||
projectStatus: tender.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
|
||||
tender.status == 'Won'
|
||||
? AppColors.green0
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.grey0
|
||||
: AppColors.red0,
|
||||
borderColor:
|
||||
tender.status == 'Won'
|
||||
? AppColors.green10
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.grey30
|
||||
: AppColors.red10,
|
||||
statusIcon:
|
||||
t.status == 'Won'
|
||||
tender.status == 'Won'
|
||||
? AssetsManager.tickCircle
|
||||
: t.status == 'Completed'
|
||||
: tender.status == 'Completed'
|
||||
? null
|
||||
: AssetsManager.closeCircle,
|
||||
statusCardColor:
|
||||
t.status == 'Won'
|
||||
tender.status == 'Won'
|
||||
? AppColors.green20
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanAqua
|
||||
: AppColors.red0,
|
||||
statusTextColor:
|
||||
t.status == 'Won'
|
||||
? AppColors.gren30
|
||||
: t.status == 'Completed'
|
||||
? AppColors.cyanTeal
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.blue0
|
||||
: AppColors.red10,
|
||||
statusTextColor:
|
||||
tender.status == 'Won'
|
||||
? AppColors.green30
|
||||
: tender.status == 'Completed'
|
||||
? AppColors.cyanTeal
|
||||
: AppColors.red20,
|
||||
);
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user