some changes and fixes

This commit is contained in:
amirrezaghabeli
2025-09-06 13:18:12 +03:30
parent 2fbd8018c8
commit 5649634464
24 changed files with 691 additions and 815 deletions
+34 -59
View File
@@ -7,7 +7,6 @@ import 'package:tm_app/views/shared/desktop_navigation_widget.dart';
import 'package:tm_app/views/tenders/widgets/main_tenders_slider.dart';
import '../../../core/constants/common_strings.dart';
import '../../../core/routes/app_routes.dart';
class DesktopTendersPage extends StatefulWidget {
const DesktopTendersPage({super.key});
@@ -54,65 +53,41 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: AppColors.backgroundColor,
body: Column(
children: [
DesktopNavigationWidget(
currentIndex: 1, // Tenders index
onTabChanged: (index) {
// Navigate to different screens based on index
switch (index) {
case 0:
// Navigate to home
Router.neglect(context, () => HomeRouteData().go(context));
viewModel.updateHome();
break;
case 1:
// Already on tenders
break;
case 2:
// Navigate to profile
Router.neglect(context, () => ProfileRouteData().go(context));
break;
}
},
),
Expanded(
child: Center(
child: SingleChildScrollView(
child: Consumer<TendersViewModel>(
builder: (context, viewModel, child) {
if (viewModel.isLoading) {
return 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) {
return Center(child: Text(CommonStrings.noData));
}
return SizedBox(
width: 740,
height: 800,
child: Padding(
padding: EdgeInsets.symmetric(vertical: 24.0.h()),
child: MainTendersSlider(
tenders:
viewModel.tendersResponse?.data?.tenders ?? [],
isDesktop: true,
),
),
);
},
body: SingleChildScrollView(
child: Consumer<TendersViewModel>(
builder: (context, viewModel, child) {
if (viewModel.isLoading) {
return 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) {
return Center(child: Text(CommonStrings.noData));
}
return Column(
children: [
DesktopNavigationWidget(
currentIndex: 1, // Tenders index
),
),
),
),
],
SizedBox(
width: 740,
height: 800,
child: Padding(
padding: EdgeInsets.symmetric(vertical: 24.0.h()),
child: MainTendersSlider(
tenders: viewModel.tendersResponse?.data?.tenders ?? [],
isDesktop: true,
),
),
),
],
);
},
),
),
);
}
+1 -19
View File
@@ -1,5 +1,4 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/core/utils/size_config.dart';
@@ -8,7 +7,6 @@ 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 '../../../core/routes/app_routes.dart';
import '../../shared/tender_app_bar.dart';
import '../strings/tenders_strings.dart';
@@ -35,23 +33,7 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
key: key,
backgroundColor: AppColors.backgroundColor,
appBar: tabletAppBar(title: TendersStrings.tendersTitle, key: key),
drawer: TabletNavigationWidget(
currentIndex: 1,
onTabChanged: (index) {
switch (index) {
case 0:
context.pop();
Router.neglect(context, () => HomeRouteData().go(context));
viewModel.updateHome();
break;
case 2:
context.pop();
Router.neglect(context, () => ProfileRouteData().go(context));
break;
}
},
),
drawer: TabletNavigationWidget(currentIndex: 1),
body: SingleChildScrollView(
child: Consumer<TendersViewModel>(
builder: (context, viewModel, child) {
@@ -91,7 +91,7 @@ class _MainTendersSliderState extends State<MainTendersSlider> {
Widget _tendersPageView() {
return SizedBox(
width: double.infinity,
height: 719.0.h(),
height: 722.0.h(),
child: PageView.builder(
controller: pageController,
scrollDirection: Axis.horizontal,
@@ -145,8 +145,8 @@ class _MainTendersSliderState extends State<MainTendersSlider> {
borderRadius: BorderRadius.circular(100),
onTap: _goToPreviousPage,
child: Container(
width: 32.0.w(),
height: 32.0.w(),
width: 32.0.h(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: AppColors.iconColor, width: 1.5),
@@ -194,8 +194,8 @@ class _MainTendersSliderState extends State<MainTendersSlider> {
borderRadius: BorderRadius.circular(100),
onTap: _goToNextPage,
child: Container(
width: 32.0.w(),
height: 32.0.w(),
width: 32.0.h(),
height: 32.0.h(),
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(color: AppColors.iconColor, width: 1.5),