This commit is contained in:
@@ -4,13 +4,10 @@ import 'package:tm_app/core/theme/colors.dart';
|
||||
import 'package:tm_app/core/utils/size_config.dart';
|
||||
import 'package:tm_app/view_models/tenders_view_model.dart';
|
||||
import 'package:tm_app/views/shared/tablet_navigation_widget.dart';
|
||||
import 'package:tm_app/views/tenders/widgets/main_tenders_slider.dart';
|
||||
|
||||
import '../../../core/constants/common_strings.dart';
|
||||
import '../../shared/tender_app_bar.dart';
|
||||
import '../strings/tenders_strings.dart';
|
||||
import '../widgets/recommended_tenders_view.dart';
|
||||
import '../widgets/tenders_tab_bar.dart';
|
||||
|
||||
class TabletTendersPage extends StatefulWidget {
|
||||
const TabletTendersPage({required this.initialSelectedTab, super.key});
|
||||
@@ -24,24 +21,12 @@ class TabletTendersPage extends StatefulWidget {
|
||||
class _TabletTendersPageState extends State<TabletTendersPage> {
|
||||
late final TendersViewModel viewModel;
|
||||
|
||||
/// 0 = All, 1 = Recommended.
|
||||
int _selectedTab = 0;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
viewModel = context.read<TendersViewModel>();
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(covariant TabletTendersPage oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.initialSelectedTab != widget.initialSelectedTab) {
|
||||
_selectedTab = widget.initialSelectedTab;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final GlobalKey<ScaffoldState> key = GlobalKey();
|
||||
@@ -56,52 +41,18 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
|
||||
drawer: const TabletNavigationWidget(currentIndex: 1),
|
||||
body: Padding(
|
||||
padding: EdgeInsetsDirectional.only(end: 24.0.w(), top: 24.0.h()),
|
||||
child: Column(
|
||||
child: const Column(
|
||||
children: [
|
||||
TendersTabBar(
|
||||
selectedIndex: _selectedTab,
|
||||
onChanged: (index) => setState(() => _selectedTab = index),
|
||||
),
|
||||
SizedBox(height: 24.0.h()),
|
||||
Expanded(
|
||||
child:
|
||||
_selectedTab == 0
|
||||
? const _AllTendersTab()
|
||||
: const RecommendedTendersView(),
|
||||
),
|
||||
// Tab bar hidden while tenders only shows recommendations.
|
||||
// TendersTabBar(
|
||||
// selectedIndex: 1,
|
||||
// onChanged: (index) {},
|
||||
// ),
|
||||
// SizedBox(height: 24.0.h()),
|
||||
Expanded(child: RecommendedTendersView()),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _AllTendersTab extends StatelessWidget {
|
||||
const _AllTendersTab();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Consumer<TendersViewModel>(
|
||||
builder: (context, viewModel, child) {
|
||||
if (viewModel.isLoading) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(color: AppColors.jellyBean),
|
||||
);
|
||||
}
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
if ((viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) &&
|
||||
viewModel.isLoading == false) {
|
||||
return const Center(child: Text(CommonStrings.noData));
|
||||
}
|
||||
return SingleChildScrollView(
|
||||
child: MainTendersSlider(
|
||||
tenders: viewModel.tendersResponse?.data?.tenders ?? [],
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user