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
@@ -1,21 +1,21 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.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/core/utils/size_config.dart';
import 'package:tm_app/view_models/home_view_model.dart';
import 'package:tm_app/view_models/tenders_view_model.dart';
import 'package:tm_app/views/home/strings/home_strings.dart';
import 'package:tm_app/views/profile/strings/profile_strings.dart';
import 'package:tm_app/views/tenders/strings/tenders_strings.dart';
import '../../core/routes/app_routes.dart';
class DesktopNavigationWidget extends StatelessWidget {
const DesktopNavigationWidget({
required this.currentIndex,
required this.onTabChanged,
super.key,
});
const DesktopNavigationWidget({required this.currentIndex, super.key});
final int currentIndex;
final ValueChanged<int> onTabChanged;
@override
Widget build(BuildContext context) {
@@ -36,7 +36,14 @@ class DesktopNavigationWidget extends StatelessWidget {
context: context,
text: HomeStrings.home,
isActive: currentIndex == 0,
onTap: () => onTabChanged(0),
onTap: () {
if (currentIndex == 0) {
return;
} else {
Router.neglect(context, () => HomeRouteData().go(context));
context.read<HomeViewModel>().init();
}
},
iconPath: AssetsManager.home,
activeIconPath: AssetsManager.homeActive,
),
@@ -45,7 +52,14 @@ class DesktopNavigationWidget extends StatelessWidget {
context: context,
text: TendersStrings.tendersTitle,
isActive: currentIndex == 1,
onTap: () => onTabChanged(1),
onTap: () {
if (currentIndex == 1) {
return;
} else {
Router.neglect(context, () => TendersRouteData().go(context));
context.read<TendersViewModel>().getTenders();
}
},
iconPath: AssetsManager.tenders,
activeIconPath: AssetsManager.tendersActive,
),
@@ -54,7 +68,13 @@ class DesktopNavigationWidget extends StatelessWidget {
context: context,
text: ProfileStrings.profileTitle,
isActive: currentIndex == 2,
onTap: () => onTabChanged(2),
onTap: () {
if (currentIndex == 2) {
return;
} else {
Router.neglect(context, () => ProfileRouteData().go(context));
}
},
iconPath: AssetsManager.profile,
activeIconPath: AssetsManager.profileActive,
),
+31 -9
View File
@@ -1,21 +1,22 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:go_router/go_router.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/core/utils/size_config.dart';
import 'package:tm_app/view_models/home_view_model.dart';
import 'package:tm_app/view_models/tenders_view_model.dart';
import 'package:tm_app/views/home/strings/home_strings.dart';
import 'package:tm_app/views/profile/strings/profile_strings.dart';
import 'package:tm_app/views/tenders/strings/tenders_strings.dart';
import '../../core/routes/app_routes.dart';
class TabletNavigationWidget extends StatelessWidget {
const TabletNavigationWidget({
required this.currentIndex,
required this.onTabChanged,
super.key,
});
const TabletNavigationWidget({required this.currentIndex, super.key});
final int currentIndex;
final ValueChanged<int> onTabChanged;
@override
Widget build(BuildContext context) {
@@ -30,7 +31,14 @@ class TabletNavigationWidget extends StatelessWidget {
context: context,
text: HomeStrings.home,
isActive: currentIndex == 0,
onTap: () => onTabChanged(0),
onTap: () {
if (currentIndex == 0) {
return;
} else {
Router.neglect(context, () => HomeRouteData().go(context));
context.read<HomeViewModel>().init();
}
},
iconPath: AssetsManager.home,
activeIconPath: AssetsManager.homeActive,
),
@@ -38,7 +46,14 @@ class TabletNavigationWidget extends StatelessWidget {
context: context,
text: TendersStrings.tendersTitle,
isActive: currentIndex == 1,
onTap: () => onTabChanged(1),
onTap: () {
if (currentIndex == 1) {
return;
} else {
Router.neglect(context, () => TendersRouteData().go(context));
context.read<TendersViewModel>().getTenders();
}
},
iconPath: AssetsManager.tenders,
activeIconPath: AssetsManager.tendersActive,
),
@@ -46,7 +61,14 @@ class TabletNavigationWidget extends StatelessWidget {
context: context,
text: ProfileStrings.profileTitle,
isActive: currentIndex == 2,
onTap: () => onTabChanged(2),
onTap: () {
if (currentIndex == 2) {
return;
} else {
context.pop();
Router.neglect(context, () => ProfileRouteData().go(context));
}
},
iconPath: AssetsManager.profile,
activeIconPath: AssetsManager.profileActive,
),