Fixed desktop navigation
This commit is contained in:
@@ -7,12 +7,12 @@ 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
|
||||
implements PreferredSizeWidget {
|
||||
class DesktopNavigationWidget extends StatelessWidget {
|
||||
const DesktopNavigationWidget({
|
||||
required this.currentIndex,
|
||||
super.key,
|
||||
@@ -22,9 +22,6 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
final int currentIndex;
|
||||
final bool haveFilter;
|
||||
|
||||
@override
|
||||
Size get preferredSize => const Size.fromHeight(64);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
@@ -34,16 +31,20 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
border: Border(bottom: BorderSide(color: AppColors.grey30)),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
const SizedBox(width: 40),
|
||||
SizedBox(width: 40),
|
||||
SvgPicture.asset(AssetsManager.logoSmall),
|
||||
const Spacer(),
|
||||
Spacer(),
|
||||
_navigationItem(
|
||||
context: context,
|
||||
text: HomeStrings.home,
|
||||
isActive: currentIndex == 0,
|
||||
onTap: () {
|
||||
if (currentIndex != 0) {
|
||||
if (currentIndex == 0) {
|
||||
return;
|
||||
} else {
|
||||
Router.neglect(context, () => HomeRouteData().go(context));
|
||||
context.read<HomeViewModel>().init();
|
||||
}
|
||||
@@ -51,13 +52,15 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
iconPath: AssetsManager.home,
|
||||
activeIconPath: AssetsManager.homeActive,
|
||||
),
|
||||
const SizedBox(width: 24),
|
||||
SizedBox(width: 24),
|
||||
_navigationItem(
|
||||
context: context,
|
||||
text: TendersStrings.tendersTitle,
|
||||
isActive: currentIndex == 1,
|
||||
onTap: () {
|
||||
if (currentIndex != 1) {
|
||||
if (currentIndex == 1) {
|
||||
return;
|
||||
} else {
|
||||
Router.neglect(context, () => TendersRouteData().go(context));
|
||||
context.read<TendersViewModel>().getTenders();
|
||||
}
|
||||
@@ -65,20 +68,57 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
iconPath: AssetsManager.tenders,
|
||||
activeIconPath: AssetsManager.tendersActive,
|
||||
),
|
||||
const SizedBox(width: 24),
|
||||
SizedBox(width: 24),
|
||||
_navigationItem(
|
||||
context: context,
|
||||
text: TendersStrings.contracts,
|
||||
isActive: currentIndex == 2,
|
||||
onTap: () {
|
||||
if (currentIndex != 2) {
|
||||
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 {
|
||||
Router.neglect(context, () => ProfileRouteData().go(context));
|
||||
}
|
||||
},
|
||||
iconPath: AssetsManager.profile,
|
||||
activeIconPath: AssetsManager.profileActive,
|
||||
),
|
||||
const Spacer(),
|
||||
Spacer(),
|
||||
if (haveFilter)
|
||||
Builder(
|
||||
builder:
|
||||
@@ -93,7 +133,7 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
},
|
||||
),
|
||||
),
|
||||
const SizedBox(width: 68),
|
||||
SizedBox(width: 68),
|
||||
],
|
||||
),
|
||||
);
|
||||
@@ -117,7 +157,7 @@ class DesktopNavigationWidget extends StatelessWidget
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
SvgPicture.asset(isActive ? activeIconPath : iconPath),
|
||||
const SizedBox(width: 8),
|
||||
SizedBox(width: 8),
|
||||
Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
|
||||
Reference in New Issue
Block a user