diff --git a/assets/icons/danger.svg b/assets/icons/danger.svg
new file mode 100644
index 0000000..947cddf
--- /dev/null
+++ b/assets/icons/danger.svg
@@ -0,0 +1,5 @@
+
diff --git a/assets/icons/icon_contracts.svg b/assets/icons/icon_contracts.svg
new file mode 100644
index 0000000..cf92caf
--- /dev/null
+++ b/assets/icons/icon_contracts.svg
@@ -0,0 +1,13 @@
+
diff --git a/assets/icons/notify_icon.svg b/assets/icons/notify_icon.svg
new file mode 100644
index 0000000..7eee2c6
--- /dev/null
+++ b/assets/icons/notify_icon.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/icons/notify_icon_active.svg b/assets/icons/notify_icon_active.svg
new file mode 100644
index 0000000..f45e8b8
--- /dev/null
+++ b/assets/icons/notify_icon_active.svg
@@ -0,0 +1,4 @@
+
diff --git a/assets/icons/tick_circle.svg b/assets/icons/tick_circle.svg
new file mode 100644
index 0000000..ddb529b
--- /dev/null
+++ b/assets/icons/tick_circle.svg
@@ -0,0 +1,4 @@
+
diff --git a/lib/core/constants/assets.dart b/lib/core/constants/assets.dart
index 980c0f0..fd5a45c 100644
--- a/lib/core/constants/assets.dart
+++ b/lib/core/constants/assets.dart
@@ -12,6 +12,9 @@ class AssetsManager {
static const tendersActive = 'assets/icons/task-square_active.svg';
static const profile = 'assets/icons/profile-circle.svg';
static const profileActive = 'assets/icons/profile-circle_active.svg';
+ static const contracts = 'assets/icons/icon_contracts.svg';
+ static const notify = 'assets/icons/notify_icon.svg';
+ static const notifyActive = 'assets/icons/notify_icon_active.svg';
// login page
static const logo = 'assets/pngs/logo.png';
@@ -45,6 +48,7 @@ class AssetsManager {
static const edit = 'assets/icons/edit.svg';
static const arrowRight = 'assets/icons/arrow-right.svg';
static const notification = 'assets/icons/notification.svg';
+ static const danger = 'assets/icons/danger.svg';
static const calendar = 'assets/icons/calendar.svg';
static const menu = 'assets/icons/menu.svg';
static const thumbLike = 'assets/icons/thumb_like.svg';
@@ -62,6 +66,6 @@ class AssetsManager {
//Liked tenders
static const trash = 'assets/icons/trash.svg';
- static const arrowdownSmall = 'assets/icons/arrow_down_small.svg';
+ static const arrowDownSmall = 'assets/icons/arrow_down_small.svg';
}
diff --git a/lib/core/routes/app_shell/mobile_shell_page.dart b/lib/core/routes/app_shell/mobile_shell_page.dart
index a1c9cf5..299b79d 100644
--- a/lib/core/routes/app_shell/mobile_shell_page.dart
+++ b/lib/core/routes/app_shell/mobile_shell_page.dart
@@ -48,6 +48,22 @@ class MobileShellPage extends StatelessWidget {
iconPath: AssetsManager.tenders,
activeIconPath: AssetsManager.tendersActive,
),
+ _bottomNavigationItem(
+ context: context,
+ text: TendersStrings.contracts,
+ isActive: navigationShell.currentIndex == 4,
+ onTap: () => onTap(4),
+ iconPath: AssetsManager.contracts,
+ activeIconPath: AssetsManager.contracts,
+ ),
+ _bottomNavigationItem(
+ context: context,
+ text: TendersStrings.notifications,
+ isActive: navigationShell.currentIndex == 3,
+ onTap: () => onTap(3),
+ iconPath: AssetsManager.notify,
+ activeIconPath: AssetsManager.notifyActive,
+ ),
_bottomNavigationItem(
context: context,
text: ProfileStrings.profileTitle,
@@ -76,7 +92,10 @@ class MobileShellPage extends StatelessWidget {
width: 64.0.w(),
height: 72.0.h(),
child: Padding(
- padding: EdgeInsets.only(top: 12.0.h(), bottom: 14.0.h()),
+ padding:
+ iconPath != AssetsManager.notify
+ ? EdgeInsets.only(top: 12.0.h(), bottom: 14.0.h())
+ : EdgeInsets.only(top: 6.0.h(), bottom: 12.0.h()),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
@@ -84,10 +103,11 @@ class MobileShellPage extends StatelessWidget {
Text(
text,
+ maxLines: 1,
style: TextStyle(
- fontSize: 12.0.sp(),
+ fontSize:
+ iconPath == AssetsManager.notify ? 11.0.sp() : 12.0.sp(),
fontWeight: FontWeight.w400,
-
color: isActive ? AppColors.primaryColor : AppColors.grey60,
),
),
diff --git a/lib/views/home/pages/t_home_page.dart b/lib/views/home/pages/t_home_page.dart
index 33eb811..8c7f835 100644
--- a/lib/views/home/pages/t_home_page.dart
+++ b/lib/views/home/pages/t_home_page.dart
@@ -128,7 +128,8 @@ class TabletHomePage extends StatelessWidget {
width: double.infinity,
height: 148,
onTap: () {
- YourTendersRouteData().push(context);
+ //YourTendersRouteData().push(context);
+ NotificationRouteData().push(context);
},
),
),
diff --git a/lib/views/liked_tenders/pages/liked_tenders_desktop_page.dart b/lib/views/liked_tenders/pages/liked_tenders_desktop_page.dart
index e892940..12c0fc2 100644
--- a/lib/views/liked_tenders/pages/liked_tenders_desktop_page.dart
+++ b/lib/views/liked_tenders/pages/liked_tenders_desktop_page.dart
@@ -165,6 +165,7 @@ class _LikedTendersDesktopPageState extends State {
context: context,
builder: (context) {
return AlertDialog(
+ backgroundColor: AppColors.backgroundColor,
title: const Text(
LikedTendersStrings.selectPage,
),
@@ -217,7 +218,8 @@ class _LikedTendersDesktopPageState extends State {
),
SizedBox(width: 5.0.w()),
SvgPicture.asset(
- AssetsManager.arrowdownSmall,
+ AssetsManager.arrowDownSmall,
+ color: AppColors.grey80,
),
SizedBox(width: 5.0.w()),
],
diff --git a/lib/views/liked_tenders/pages/liked_tenders_tablet_page.dart b/lib/views/liked_tenders/pages/liked_tenders_tablet_page.dart
index 6dc6ed6..3f73bd1 100644
--- a/lib/views/liked_tenders/pages/liked_tenders_tablet_page.dart
+++ b/lib/views/liked_tenders/pages/liked_tenders_tablet_page.dart
@@ -175,6 +175,7 @@ class _LikedTendersTabletPageState extends State {
context: context,
builder: (context) {
return AlertDialog(
+ backgroundColor: AppColors.backgroundColor,
title: const Text(
LikedTendersStrings.selectPage,
),
@@ -227,7 +228,8 @@ class _LikedTendersTabletPageState extends State {
),
SizedBox(width: 5.0.w()),
SvgPicture.asset(
- AssetsManager.arrowdownSmall,
+ AssetsManager.arrowDownSmall,
+ color: AppColors.grey80,
),
SizedBox(width: 5.0.w()),
],
diff --git a/lib/views/notification/pages/d_notification_page.dart b/lib/views/notification/pages/d_notification_page.dart
index 1f74b7e..9d04738 100644
--- a/lib/views/notification/pages/d_notification_page.dart
+++ b/lib/views/notification/pages/d_notification_page.dart
@@ -1,10 +1,209 @@
import 'package:flutter/material.dart';
+import 'package:flutter_svg/svg.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/views/notification/strings/notification_strings.dart';
+import 'package:tm_app/views/shared/desktop_navigation_widget.dart';
-class DesktopNotificationPage extends StatelessWidget {
+import '../../shared/main_tab_bar.dart';
+import '../widgets/notification_all_tab.dart';
+import '../widgets/notification_important_tab.dart';
+import '../widgets/notification_unread_tab.dart';
+
+class DesktopNotificationPage extends StatefulWidget {
const DesktopNotificationPage({super.key});
+ @override
+ State createState() =>
+ _DesktopNotificationPageState();
+}
+
+class _DesktopNotificationPageState extends State
+ with SingleTickerProviderStateMixin {
+ late TabController controller;
+
+ @override
+ void initState() {
+ super.initState();
+ controller = TabController(length: 3, vsync: this);
+ }
+
+ @override
+ void dispose() {
+ controller.dispose();
+ super.dispose();
+ }
+
@override
Widget build(BuildContext context) {
- return const Scaffold();
+ return Scaffold(
+ backgroundColor: AppColors.backgroundColor,
+ body: Column(
+ children: [
+ DesktopNavigationWidget(currentIndex: 3),
+
+ SizedBox(height: 60.0.h()),
+
+ Expanded(
+ child: Center(
+ child: SizedBox(
+ width: 740,
+ child: Column(
+ children: [
+ MainTabBar(
+ controller: controller,
+ titles: [
+ NotificationStrings.all,
+ NotificationStrings.unread,
+ NotificationStrings.important,
+ ],
+ ),
+
+ SizedBox(height: 12.0.h()),
+
+ Padding(
+ padding: EdgeInsetsDirectional.only(end: 24.0.w()),
+ child: Align(
+ alignment: Alignment.centerRight,
+ child: InkWell(
+ onTap: () {},
+ borderRadius: BorderRadius.circular(99),
+ child: Container(
+ width: 132.0.w(),
+ height: 32.0.h(),
+ decoration: BoxDecoration(
+ color: AppColors.primary20,
+ borderRadius: BorderRadius.circular(99),
+ ),
+ child: Center(
+ child: Text(
+ NotificationStrings.markAllAsReadButton,
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w500,
+ color: AppColors.mainBlue,
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ SizedBox(height: 12.0.h()),
+ Expanded(
+ child: TabBarView(
+ controller: controller,
+ children: const [
+ NotificationAllTab(),
+ NotificationUnreadTab(),
+ NotificationImportantTab(),
+ ],
+ ),
+ ),
+ SizedBox(height: 10.0.h()),
+ Row(
+ children: [
+ const Spacer(),
+ Text(
+ 'page',
+ style: TextStyle(
+ fontSize: 13.0.sp(),
+ fontWeight: FontWeight.w300,
+ color: AppColors.grey60,
+ ),
+ ),
+ SizedBox(width: 10.0.w()),
+ InkWell(
+ onTap: () async {
+ final _ = await showDialog(
+ context: context,
+ builder: (context) {
+ return AlertDialog(
+ backgroundColor: AppColors.backgroundColor,
+ title: const Text('selectPage'),
+ content: SizedBox(
+ width: 200,
+ height: 300,
+ child: ListView.builder(
+ itemCount: 1,
+ itemBuilder: (context, index) {
+ final pageNumber = index + 1;
+ return ListTile(
+ title: Text(
+ '{LikedTendersStrings.page} $pageNumber',
+ ),
+ onTap:
+ () => Navigator.pop(
+ context,
+ pageNumber,
+ ),
+ );
+ },
+ ),
+ ),
+ );
+ },
+ );
+ },
+ child: Container(
+ decoration: BoxDecoration(
+ border: Border.all(
+ color: AppColors.grey30,
+ width: 1,
+ ),
+ borderRadius: BorderRadius.circular(4),
+ ),
+ child: Row(
+ children: [
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'currentPage',
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w500,
+ color: AppColors.grey70,
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ SvgPicture.asset(
+ AssetsManager.arrowDownSmall,
+ color: AppColors.grey80,
+ ),
+ SizedBox(width: 5.0.w()),
+ ],
+ ),
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'of',
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w400,
+ color: AppColors.grey60,
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'totalPages',
+ style: TextStyle(
+ fontSize: 13.0.sp(),
+ fontWeight: FontWeight.w400,
+ color: AppColors.grey60,
+ ),
+ ),
+ ],
+ ),
+
+ SizedBox(height: 30.0.h()),
+ ],
+ ),
+ ),
+ ),
+ ),
+ ],
+ ),
+ );
}
}
diff --git a/lib/views/notification/pages/t_notification_page.dart b/lib/views/notification/pages/t_notification_page.dart
index 6a22aab..afd18e6 100644
--- a/lib/views/notification/pages/t_notification_page.dart
+++ b/lib/views/notification/pages/t_notification_page.dart
@@ -1,10 +1,200 @@
import 'package:flutter/material.dart';
+import 'package:flutter_svg/svg.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/views/notification/strings/notification_strings.dart';
+import 'package:tm_app/views/shared/tablet_navigation_widget.dart';
+import 'package:tm_app/views/shared/tender_app_bar.dart';
-class TabletNotificationPage extends StatelessWidget {
+import '../../shared/main_tab_bar.dart';
+import '../widgets/notification_all_tab.dart';
+import '../widgets/notification_important_tab.dart';
+import '../widgets/notification_unread_tab.dart';
+
+class TabletNotificationPage extends StatefulWidget {
const TabletNotificationPage({super.key});
+ @override
+ State createState() => _TabletNotificationPageState();
+}
+
+class _TabletNotificationPageState extends State
+ with SingleTickerProviderStateMixin {
+ late TabController controller;
+
+ @override
+ void initState() {
+ super.initState();
+ controller = TabController(length: 3, vsync: this);
+ }
+
+ @override
+ void dispose() {
+ controller.dispose();
+ super.dispose();
+ }
+
@override
Widget build(BuildContext context) {
- return const Scaffold();
+ final GlobalKey key = GlobalKey();
+ return Scaffold(
+ key: key,
+ backgroundColor: AppColors.backgroundColor,
+ appBar: tabletAppBar(
+ title: NotificationStrings.notificationTitle,
+ key: key,
+ ),
+ drawer: TabletNavigationWidget(currentIndex: 3),
+ body: Center(
+ child: SizedBox(
+ width: 720,
+ child: Column(
+ children: [
+ MainTabBar(
+ controller: controller,
+ titles: [
+ NotificationStrings.all,
+ NotificationStrings.unread,
+ NotificationStrings.important,
+ ],
+ ),
+ SizedBox(height: 12.0.h()),
+ Padding(
+ padding: EdgeInsetsDirectional.only(end: 24.0.w()),
+ child: Align(
+ alignment: Alignment.centerRight,
+ child: InkWell(
+ onTap: () {},
+ borderRadius: BorderRadius.circular(99),
+ child: Container(
+ width: 132.0.w(),
+ height: 32.0.h(),
+ decoration: BoxDecoration(
+ color: AppColors.primary20,
+ borderRadius: BorderRadius.circular(99),
+ ),
+ child: Center(
+ child: Text(
+ NotificationStrings.markAllAsReadButton,
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w500,
+ color: AppColors.mainBlue,
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ SizedBox(height: 12.0.h()),
+ Expanded(
+ child: TabBarView(
+ controller: controller,
+ children: [
+ NotificationAllTab(),
+ NotificationUnreadTab(),
+ NotificationImportantTab(),
+ ],
+ ),
+ ),
+ SizedBox(height: 10.0.h()),
+
+ Row(
+ children: [
+ const Spacer(),
+ Text(
+ 'page',
+ style: TextStyle(
+ fontSize: 13.0.sp(),
+ fontWeight: FontWeight.w300,
+ color: AppColors.grey60,
+ ),
+ ),
+ SizedBox(width: 10.0.w()),
+ InkWell(
+ onTap: () async {
+ final _ = await showDialog(
+ context: context,
+ builder: (context) {
+ return AlertDialog(
+ backgroundColor: AppColors.backgroundColor,
+ title: const Text('selectPage'),
+ content: SizedBox(
+ width: 200,
+ height: 300,
+ child: ListView.builder(
+ itemCount: 1,
+ itemBuilder: (context, index) {
+ final pageNumber = index + 1;
+ return ListTile(
+ title: Text(
+ '{LikedTendersStrings.page} $pageNumber',
+ ),
+ onTap:
+ () =>
+ Navigator.pop(context, pageNumber),
+ );
+ },
+ ),
+ ),
+ );
+ },
+ );
+ },
+ child: Container(
+ decoration: BoxDecoration(
+ border: Border.all(color: AppColors.grey30, width: 1),
+ borderRadius: BorderRadius.circular(4),
+ ),
+ child: Row(
+ children: [
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'currentPage',
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w500,
+ color: AppColors.grey70,
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ SvgPicture.asset(
+ AssetsManager.arrowDownSmall,
+ color: AppColors.grey80,
+ ),
+ SizedBox(width: 5.0.w()),
+ ],
+ ),
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'of',
+ style: TextStyle(
+ fontSize: 14.0.sp(),
+ fontWeight: FontWeight.w400,
+ color: AppColors.grey60,
+ ),
+ ),
+ SizedBox(width: 5.0.w()),
+ Text(
+ 'totalPages',
+ style: TextStyle(
+ fontSize: 13.0.sp(),
+ fontWeight: FontWeight.w400,
+ color: AppColors.grey60,
+ ),
+ ),
+ ],
+ ),
+
+ SizedBox(height: 30.0.h()),
+ ],
+ ),
+ ),
+ ),
+ );
}
}
diff --git a/lib/views/notification/widgets/notification_card.dart b/lib/views/notification/widgets/notification_card.dart
index fc3479e..192ebaf 100644
--- a/lib/views/notification/widgets/notification_card.dart
+++ b/lib/views/notification/widgets/notification_card.dart
@@ -18,16 +18,34 @@ class NotificationCard extends StatelessWidget {
margin: EdgeInsets.symmetric(horizontal: 24.0.w()),
padding: EdgeInsets.symmetric(horizontal: 16.0.w(), vertical: 16.0.h()),
decoration: BoxDecoration(
- color: AppColors.mainBlue.withValues(alpha: 0.03),
+ color:
+ notification.title == 'Tender Submitted'
+ ? AppColors.orange10
+ : notification.title == 'New Tender Invitation'
+ ? AppColors.mainBlue.withValues(alpha: 0.03)
+ : AppColors.green0,
borderRadius: BorderRadius.circular(4),
- border: Border.all(color: AppColors.mainBlue.withValues(alpha: 0.15)),
+ border: Border.all(
+ color:
+ notification.title == 'Tender Submitted'
+ ? AppColors.warningColor
+ : notification.title == 'New Tender Invitation'
+ ? AppColors.mainBlue.withValues(alpha: 0.15)
+ : AppColors.green20,
+ ),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
- SvgPicture.asset(AssetsManager.notification),
+ SvgPicture.asset(
+ notification.title == 'Tender Submitted'
+ ? AssetsManager.danger
+ : notification.title == 'New Tender Invitation'
+ ? AssetsManager.notification
+ : AssetsManager.tickCircle,
+ ),
SizedBox(width: 8.0.w()),
Text(
notification.title,
diff --git a/lib/views/profile/pages/d_profile_page.dart b/lib/views/profile/pages/d_profile_page.dart
index ad5b623..82e944c 100644
--- a/lib/views/profile/pages/d_profile_page.dart
+++ b/lib/views/profile/pages/d_profile_page.dart
@@ -67,7 +67,7 @@ class _DesktopProfilePageState extends State {
return Column(
children: [
DesktopNavigationWidget(
- currentIndex: 2, // Tenders index
+ currentIndex: 4, // Tenders index
),
SizedBox(
width: 740,
diff --git a/lib/views/profile/pages/t_profile_page.dart b/lib/views/profile/pages/t_profile_page.dart
index 7802e08..0a8c44d 100644
--- a/lib/views/profile/pages/t_profile_page.dart
+++ b/lib/views/profile/pages/t_profile_page.dart
@@ -70,7 +70,7 @@ class _TabletProfilePageState extends State {
backgroundColor: AppColors.backgroundColor,
appBar: tabletAppBar(title: ProfileStrings.profileTitle, key: key),
- drawer: TabletNavigationWidget(currentIndex: 2),
+ drawer: TabletNavigationWidget(currentIndex: 4),
body: Padding(
padding: EdgeInsets.symmetric(
horizontal: 24.0.w(),
diff --git a/lib/views/profile/strings/profile_strings.dart b/lib/views/profile/strings/profile_strings.dart
index 69f5cf7..f3f18d3 100644
--- a/lib/views/profile/strings/profile_strings.dart
+++ b/lib/views/profile/strings/profile_strings.dart
@@ -11,4 +11,6 @@ class ProfileStrings {
static const String businessType = 'Business Type';
static const String founded = 'Founded';
static const String logout = 'Logout';
+ static const String contracts = 'Contracts';
+ static const String notifications = 'Notifications';
}
diff --git a/lib/views/shared/desktop_navigation_widget.dart b/lib/views/shared/desktop_navigation_widget.dart
index 9ed5eab..5a4393c 100644
--- a/lib/views/shared/desktop_navigation_widget.dart
+++ b/lib/views/shared/desktop_navigation_widget.dart
@@ -66,11 +66,46 @@ class DesktopNavigationWidget extends StatelessWidget {
SizedBox(width: 24),
_navigationItem(
context: context,
- text: ProfileStrings.profileTitle,
+ text: TendersStrings.contracts,
isActive: currentIndex == 2,
onTap: () {
if (currentIndex == 2) {
return;
+ } else {
+ // Router.neglect(context, () => TendersRouteData().go(context));
+ // context.read().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().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));
}
@@ -96,7 +131,7 @@ class DesktopNavigationWidget extends StatelessWidget {
return InkWell(
onTap: onTap,
child: SizedBox(
- width: 100.0,
+ width: 115.0,
height: 64,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
diff --git a/lib/views/shared/tablet_navigation_widget.dart b/lib/views/shared/tablet_navigation_widget.dart
index 5b50dd9..4ef8fb6 100644
--- a/lib/views/shared/tablet_navigation_widget.dart
+++ b/lib/views/shared/tablet_navigation_widget.dart
@@ -59,11 +59,41 @@ class TabletNavigationWidget extends StatelessWidget {
),
_navigationItem(
context: context,
- text: ProfileStrings.profileTitle,
+ text: ProfileStrings.contracts,
isActive: currentIndex == 2,
onTap: () {
if (currentIndex == 2) {
return;
+ } else {
+ // context.pop();
+ // Router.neglect(context, () => ProfileRouteData().go(context));
+ }
+ },
+ iconPath: AssetsManager.contracts,
+ activeIconPath: AssetsManager.contracts,
+ ),
+ _navigationItem(
+ context: context,
+ text: ProfileStrings.notifications,
+ isActive: currentIndex == 3,
+ onTap: () {
+ if (currentIndex == 3) {
+ return;
+ } else {
+ context.pop();
+ Router.neglect(context, () => NotificationRouteData().go(context));
+ }
+ },
+ iconPath: AssetsManager.notify,
+ activeIconPath: AssetsManager.notifyActive,
+ ),
+ _navigationItem(
+ context: context,
+ text: ProfileStrings.profileTitle,
+ isActive: currentIndex == 4,
+ onTap: () {
+ if (currentIndex == 4) {
+ return;
} else {
context.pop();
Router.neglect(context, () => ProfileRouteData().go(context));
diff --git a/lib/views/tenders/strings/tenders_strings.dart b/lib/views/tenders/strings/tenders_strings.dart
index 4a06dce..b4cced5 100644
--- a/lib/views/tenders/strings/tenders_strings.dart
+++ b/lib/views/tenders/strings/tenders_strings.dart
@@ -8,4 +8,6 @@ class TendersStrings {
static const String dislike = 'Dislike';
static const String like = 'Like';
static const String tenderDeadlineLabel = 'Deadline';
+ static const String contracts = 'Contracts';
+ static const String notifications = 'Notifications';
}
diff --git a/pubspec.lock b/pubspec.lock
index 7f683a0..a6958c9 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -177,14 +177,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "3.1.2"
- country_flags:
- dependency: "direct main"
- description:
- name: country_flags
- sha256: "78a7bf8aabd7ae1a90087f0c517471ac9ebfe07addc652692f58da0f0f833196"
- url: "https://pub.dev"
- source: hosted
- version: "3.3.0"
crypto:
dependency: transitive
description:
@@ -456,22 +448,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.5"
- jovial_misc:
- dependency: transitive
- description:
- name: jovial_misc
- sha256: "4301011027d87b8b919cb862db84071a34448eadbb32cc8d40fe505424dfe69a"
- url: "https://pub.dev"
- source: hosted
- version: "0.9.2"
- jovial_svg:
- dependency: transitive
- description:
- name: jovial_svg
- sha256: "6791b1435547bdc0793081a166d41a8a313ebc61e4e5136fb7a3218781fb9e50"
- url: "https://pub.dev"
- source: hosted
- version: "1.1.27"
js:
dependency: transitive
description:
@@ -608,6 +584,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.1.0"
+ path_provider:
+ dependency: "direct main"
+ description:
+ name: path_provider
+ sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.5"
+ path_provider_android:
+ dependency: transitive
+ description:
+ name: path_provider_android
+ sha256: "993381400e94d18469750e5b9dcb8206f15bc09f9da86b9e44a9b0092a0066db"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.2.18"
+ path_provider_foundation:
+ dependency: transitive
+ description:
+ name: path_provider_foundation
+ sha256: "16eef174aacb07e09c351502740fa6254c165757638eba1e9116b0a781201bbd"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.4.2"
path_provider_linux:
dependency: transitive
description: