fixed conflicts

This commit is contained in:
amirrezaghabeli
2025-09-13 12:31:08 +03:30
parent d065316113
commit 5a9d93cdd6
7 changed files with 319 additions and 73 deletions
+35 -56
View File
@@ -7,15 +7,23 @@ 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, super.key});
class DesktopNavigationWidget extends StatelessWidget
implements PreferredSizeWidget {
const DesktopNavigationWidget({
required this.currentIndex,
super.key,
this.haveFilter = false,
});
final int currentIndex;
final bool haveFilter;
@override
Size get preferredSize => const Size.fromHeight(64);
@override
Widget build(BuildContext context) {
@@ -26,20 +34,16 @@ class DesktopNavigationWidget extends StatelessWidget {
border: Border(bottom: BorderSide(color: AppColors.grey30)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(width: 40),
const SizedBox(width: 40),
SvgPicture.asset(AssetsManager.logoSmall),
Spacer(),
const Spacer(),
_navigationItem(
context: context,
text: HomeStrings.home,
isActive: currentIndex == 0,
onTap: () {
if (currentIndex == 0) {
return;
} else {
if (currentIndex != 0) {
Router.neglect(context, () => HomeRouteData().go(context));
context.read<HomeViewModel>().init();
}
@@ -47,15 +51,13 @@ class DesktopNavigationWidget extends StatelessWidget {
iconPath: AssetsManager.home,
activeIconPath: AssetsManager.homeActive,
),
SizedBox(width: 24),
const SizedBox(width: 24),
_navigationItem(
context: context,
text: TendersStrings.tendersTitle,
isActive: currentIndex == 1,
onTap: () {
if (currentIndex == 1) {
return;
} else {
if (currentIndex != 1) {
Router.neglect(context, () => TendersRouteData().go(context));
context.read<TendersViewModel>().getTenders();
}
@@ -63,58 +65,35 @@ class DesktopNavigationWidget extends StatelessWidget {
iconPath: AssetsManager.tenders,
activeIconPath: AssetsManager.tendersActive,
),
SizedBox(width: 24),
const SizedBox(width: 24),
_navigationItem(
context: context,
text: TendersStrings.contracts,
isActive: currentIndex == 2,
onTap: () {
if (currentIndex == 2) {
return;
} else {
// Router.neglect(context, () => TendersRouteData().go(context));
// context.read<TendersViewModel>().getTenders();
}
},
iconPath: AssetsManager.contracts,
activeIconPath: AssetsManager.contracts,
),
SizedBox(width: 24),
_navigationItem(
context: context,
text: TendersStrings.notifications,
isActive: currentIndex == 3,
onTap: () {
if (currentIndex == 3) {
return;
} else {
Router.neglect(
context,
() => NotificationRouteData().go(context),
);
//context.read<notificationViewModel>().getTenders();
}
},
iconPath: AssetsManager.notify,
activeIconPath: AssetsManager.notifyActive,
),
SizedBox(width: 24),
_navigationItem(
context: context,
text: ProfileStrings.profileTitle,
isActive: currentIndex == 4,
onTap: () {
if (currentIndex == 4) {
return;
} else {
if (currentIndex != 2) {
Router.neglect(context, () => ProfileRouteData().go(context));
}
},
iconPath: AssetsManager.profile,
activeIconPath: AssetsManager.profileActive,
),
Spacer(),
SizedBox(width: 68),
const Spacer(),
if (haveFilter)
Builder(
builder:
(context) => IconButton(
icon: SvgPicture.asset(
AssetsManager.filter,
height: 24.0.w(),
width: 24.0.w(),
),
onPressed: () {
Scaffold.of(context).openEndDrawer();
},
),
),
const SizedBox(width: 68),
],
),
);
@@ -138,7 +117,7 @@ class DesktopNavigationWidget extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SvgPicture.asset(isActive ? activeIconPath : iconPath),
SizedBox(width: 8),
const SizedBox(width: 8),
Text(
text,
style: TextStyle(