filters in your tenders fixed

This commit is contained in:
amirrezaghabeli
2025-09-03 13:25:40 +03:30
parent 70181848aa
commit 1e3bd9d9a8
12 changed files with 363 additions and 252 deletions
@@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.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/strings/your_tenders_strings.dart';
import 'package:tm_app/views/your_tenders/widgets/filter_button.dart';
import 'package:tm_app/views/your_tenders/widgets/liked_disliked_tenders_list.dart';
import 'package:tm_app/views/your_tenders/widgets/tablet_desktop_appbar.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
@@ -24,10 +26,6 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<YourTendersViewModel>().getApprovedTenders();
});
}
@override
@@ -94,9 +92,28 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
if (viewModel.errorMessage != null) {
return Center(child: Text(viewModel.errorMessage!));
}
return TendersSubmitted(
approvedTenders: viewModel.data!,
);
if (viewModel.selectedStatus ==
YourTendersStrings.likeTenders &&
viewModel.likedTendersData != null) {
return LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'liked',
);
} else if (viewModel.selectedStatus ==
YourTendersStrings.dislikeTenders &&
viewModel.likedTendersData != null) {
return LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'disliked',
);
} else if (viewModel.data != null) {
return TendersSubmitted(
approvedTenders: viewModel.data!,
);
} else {
return const Center(child: Text('No data available'));
}
// return TabBarView(
// controller: controller,
// children: [
@@ -5,6 +5,7 @@ import 'package:tm_app/view_models/your_tenders_view_model.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart';
import 'package:tm_app/views/your_tenders/strings/your_tenders_strings.dart';
import 'package:tm_app/views/your_tenders/widgets/filter_button.dart';
import 'package:tm_app/views/your_tenders/widgets/liked_disliked_tenders_list.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
class YourTendersMobilePage extends StatefulWidget {
@@ -55,10 +56,34 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage> {
return Column(
children: [
// Expanded(child: ApprovedTenders(tendersSubmitted: [])),
Expanded(
child: TendersSubmitted(approvedTenders: viewModel.data!),
),
if (viewModel.selectedStatus ==
YourTendersStrings.likeTenders &&
viewModel.likedTendersData != null)
Expanded(
child: LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'liked tenders',
),
)
else if (viewModel.selectedStatus ==
YourTendersStrings.dislikeTenders &&
viewModel.likedTendersData != null)
Expanded(
child: LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'disliked',
),
)
else if (viewModel.data != null)
Expanded(
child: TendersSubmitted(
approvedTenders: viewModel.data!,
),
)
else
const Expanded(
child: Center(child: Text('No data available')),
),
],
);
},
@@ -6,6 +6,7 @@ import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/view_models/your_tenders_view_model.dart';
import 'package:tm_app/views/your_tenders/widgets/filter_button.dart';
import 'package:tm_app/views/your_tenders/widgets/liked_disliked_tenders_list.dart';
import 'package:tm_app/views/your_tenders/widgets/tablet_desktop_appbar.dart';
import 'package:tm_app/views/your_tenders/widgets/tenders_submitted.dart';
@@ -28,10 +29,6 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
void initState() {
super.initState();
controller = TabController(length: 2, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<YourTendersViewModel>().getApprovedTenders();
});
}
@override
@@ -46,10 +43,7 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
return Scaffold(
key: key,
backgroundColor: AppColors.backgroundColor,
appBar: tabletAppBar(
title: YourTendersStrings.yourTenders,
key: key,
),
appBar: tabletAppBar(title: YourTendersStrings.yourTenders, key: key),
drawer: TabletNavigationWidget(
currentIndex: 1, // Home is index 0
onTabChanged: (index) {
@@ -102,7 +96,26 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
if (viewModel.errorMessage != null) {
return Center(child: Text(viewModel.errorMessage!));
}
return TendersSubmitted(approvedTenders: viewModel.data!);
if (viewModel.selectedStatus ==
YourTendersStrings.likeTenders &&
viewModel.likedTendersData != null) {
return LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'liked',
);
} else if (viewModel.selectedStatus ==
YourTendersStrings.dislikeTenders &&
viewModel.likedTendersData != null) {
return LikedDislikedTendersList(
data: viewModel.likedTendersData!,
status: 'disliked',
);
} else if (viewModel.data != null) {
return TendersSubmitted(approvedTenders: viewModel.data!);
} else {
return const Center(child: Text('No data available'));
}
},
),
),