diff --git a/assets/icons/arrow-left-small.svg b/assets/icons/arrow-left-small.svg
new file mode 100644
index 0000000..cbe843a
--- /dev/null
+++ b/assets/icons/arrow-left-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/icons/arrow-right-small.svg b/assets/icons/arrow-right-small.svg
new file mode 100644
index 0000000..b283cc3
--- /dev/null
+++ b/assets/icons/arrow-right-small.svg
@@ -0,0 +1,3 @@
+
diff --git a/lib/core/constants/assets.dart b/lib/core/constants/assets.dart
index 1ed0338..dcc83a8 100644
--- a/lib/core/constants/assets.dart
+++ b/lib/core/constants/assets.dart
@@ -20,6 +20,15 @@ class AssetsManager {
static const location = 'assets/icons/location.svg';
static const arrowCircleLeft = 'assets/icons/arrow-circle-left.svg';
static const arrowCircleRight = 'assets/icons/arrow-circle-right.svg';
+ static const arrowLeftSmall = 'assets/icons/arrow-left-small.svg';
+ static const arrowRightSmall = 'assets/icons/arrow-right-small.svg';
+
+ //home page
+ static const arrows = 'assets/icons/arrows.svg';
+ static const thumb = 'assets/icons/thumb.svg';
+ static const shield = 'assets/icons/shield.svg';
+ static const edit = 'assets/icons/edit.svg';
+ static const arrowRight = 'assets/icons/arrow-right.svg';
//your tenders page
static const tickCircle = 'assets/icons/tick-circle.svg';
diff --git a/lib/core/constants/strings.dart b/lib/core/constants/strings.dart
index d77e596..54089d9 100644
--- a/lib/core/constants/strings.dart
+++ b/lib/core/constants/strings.dart
@@ -27,7 +27,7 @@ class AppStrings {
static const String partnership = 'Partnership';
static const String selfApply = 'Self-apply';
static const String contracting = 'Contracting';
- static const String tenderSubmitting = 'Tender submitting';
+ static const String tenderSubmitted = 'Tenders submitted';
static const String approvedTenders = 'Approved tenders';
static const String tenderValue = 'Tender Value';
static const String thunderStatus = 'Thunder status';
@@ -35,6 +35,7 @@ class AppStrings {
//Tenders
static const String tendersTitle = 'Tenders';
+ static const String tenderSeeMore = 'See More';
//profile
static const String profile = 'Profile';
@@ -62,17 +63,18 @@ class AppStrings {
static const String tenderSubmitButton = 'Submit';
static const String tenderRejectButton = 'Reject';
static const String tenderDateExample = '2025-05-21';
-static const String tenderTitleExample =
- 'Operation, support and further development of open e-platform Operation, support and further development of open e-platform';
-static const String tenderIdExample = 'JNDFKMDV-100-JF';
-static const String tenderApprovalDateExample = '2025-05-21';
-static const String tenderSubmissionDateExample = '2025-05-21';
-static const String tenderClientExample =
- 'Procurement Notice Procurement Notice';
-static const String tenderDeliveryLocationExample = 'Norrbotten County';
-static const String tenderReferenceNumberExample = 'KLF 2025/120';
-static const String tenderDescriptionExample =
- 'Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten)...';
-static const String tenderMatchPercentageExample = '75%';
-static const String locationDescription = 'Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten).
The procurement includes operation, support, and further development of the existing open e-platform.
No additional information, amendments, or answers to questions will be provided after June 16.o additional information, amendments, or answers to questions will be provided after June 16.o additional information, amendments, or answers to questions will be provided after June 16.website: www.tenders.com Lorem ipsum is amet Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten).
The procurement includes operation, support, and further development of the existing open e-platform.
No additional information, amendments, or answers to questions will be provided after June 16. o additional information, amendments, or answers to questions will be provided after June 16. o additional information, amendments, or answers to questions will be provided after June 16.website: www.tenders.com';
+ static const String tenderTitleExample =
+ 'Operation, support and further development of open e-platform Operation, support and further development of open e-platform';
+ static const String tenderIdExample = 'JNDFKMDV-100-JF';
+ static const String tenderApprovalDateExample = '2025-05-21';
+ static const String tenderSubmissionDateExample = '2025-05-21';
+ static const String tenderClientExample =
+ 'Procurement Notice Procurement Notice';
+ static const String tenderDeliveryLocationExample = 'Norrbotten County';
+ static const String tenderReferenceNumberExample = 'KLF 2025/120';
+ static const String tenderDescriptionExample =
+ 'Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten)...';
+ static const String tenderMatchPercentageExample = '75%';
+ static const String locationDescription =
+ 'Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten).
The procurement includes operation, support, and further development of the existing open e-platform.
No additional information, amendments, or answers to questions will be provided after June 16.o additional information, amendments, or answers to questions will be provided after June 16.o additional information, amendments, or answers to questions will be provided after June 16.website: www.tenders.com Lorem ipsum is amet Luleå Municipality is procuring on behalf of Norrbotten’s e-board (all municipalities in Norrbotten).
The procurement includes operation, support, and further development of the existing open e-platform.
No additional information, amendments, or answers to questions will be provided after June 16. o additional information, amendments, or answers to questions will be provided after June 16. o additional information, amendments, or answers to questions will be provided after June 16.website: www.tenders.com';
}
diff --git a/lib/core/theme/colors.dart b/lib/core/theme/colors.dart
index 9dd6bd6..7cb19d1 100644
--- a/lib/core/theme/colors.dart
+++ b/lib/core/theme/colors.dart
@@ -91,6 +91,9 @@ class AppColors {
static Color get textBlue =>
_isDarkMode ? const Color(0xFF3A87FF) : const Color(0xFF0164FF);
+ static Color get iconColor =>
+ _isDarkMode ? const Color(0xFF999999) : const Color(0xFF888888);
+
static Color get primary10 =>
_isDarkMode
? const Color.fromRGBO(104, 151, 151, 0.2)
diff --git a/lib/views/home/pages/d_home_page.dart b/lib/views/home/pages/d_home_page.dart
index 48f2afa..25990fb 100644
--- a/lib/views/home/pages/d_home_page.dart
+++ b/lib/views/home/pages/d_home_page.dart
@@ -69,7 +69,7 @@ class DesktopHomePage extends StatelessWidget {
TenderCard(
backgroundColor: AppColors.primary20,
iconPath: 'assets/icons/arrows.svg',
- title: AppStrings.tenderSubmitting,
+ title: AppStrings.tenderSubmitted,
amount: '12',
textColor: Color(0xFF0164FF),
enableTap: true,
diff --git a/lib/views/home/pages/m_home_page.dart b/lib/views/home/pages/m_home_page.dart
index a981a75..51f51b9 100644
--- a/lib/views/home/pages/m_home_page.dart
+++ b/lib/views/home/pages/m_home_page.dart
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
+import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/constants/strings.dart';
import 'package:tm_app/core/routes/app_routes.dart';
import 'package:tm_app/core/theme/colors.dart';
@@ -68,8 +69,8 @@ class MobileHomePage extends StatelessWidget {
children: [
TenderCard(
backgroundColor: AppColors.primary20,
- iconPath: 'assets/icons/arrows.svg',
- title: AppStrings.tenderSubmitting,
+ iconPath: AssetsManager.arrows,
+ title: AppStrings.tenderSubmitted,
amount: '12',
textColor: Color(0xFF0164FF),
enableTap: true,
@@ -79,7 +80,7 @@ class MobileHomePage extends StatelessWidget {
),
TenderCard(
backgroundColor: AppColors.primary10,
- iconPath: 'assets/icons/thumb.svg',
+ iconPath: AssetsManager.thumb,
title: AppStrings.approvedTenders,
amount: '03',
textColor: Color(0xFF24848E),
@@ -101,7 +102,7 @@ class MobileHomePage extends StatelessWidget {
children: [
TenderCard(
backgroundColor: AppColors.orange10,
- iconPath: 'assets/icons/shield.svg',
+ iconPath: AssetsManager.shield,
title: AppStrings.tenderValue,
amount: '\$250,000',
textColor: Color(0xFFE5821E),
@@ -110,7 +111,7 @@ class MobileHomePage extends StatelessWidget {
),
TenderCard(
backgroundColor: AppColors.grey10,
- iconPath: 'assets/icons/edit.svg',
+ iconPath: AssetsManager.edit,
title: AppStrings.thunderStatus,
amount: '23',
textColor: Color(0xFF9E9E9E),
diff --git a/lib/views/home/pages/t_home_page.dart b/lib/views/home/pages/t_home_page.dart
index f9ba4f4..59c3abf 100644
--- a/lib/views/home/pages/t_home_page.dart
+++ b/lib/views/home/pages/t_home_page.dart
@@ -79,7 +79,7 @@ class TabletHomePage extends StatelessWidget {
child: TenderCard(
backgroundColor: AppColors.primary20,
iconPath: 'assets/icons/arrows.svg',
- title: AppStrings.tenderSubmitting,
+ title: AppStrings.tenderSubmitted,
amount: '12',
textColor: Color(0xFF0164FF),
enableTap: true,
diff --git a/lib/views/home/tender_card.dart b/lib/views/home/tender_card.dart
index 4010297..1b23f49 100644
--- a/lib/views/home/tender_card.dart
+++ b/lib/views/home/tender_card.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
+import '../../core/constants/assets.dart';
import '../../core/utils/size_config.dart';
class TenderCard extends StatelessWidget {
@@ -65,7 +66,7 @@ class TenderCard extends StatelessWidget {
),
),
enableTap
- ? SvgPicture.asset('assets/icons/arrow-right.svg')
+ ? SvgPicture.asset(AssetsManager.arrowRight)
: SizedBox(),
],
),
diff --git a/lib/views/home/tenders_list_item.dart b/lib/views/home/tenders_list_item.dart
index 6c9cdc1..d2ef4fd 100644
--- a/lib/views/home/tenders_list_item.dart
+++ b/lib/views/home/tenders_list_item.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
+import '../../core/constants/assets.dart';
import '../../core/theme/colors.dart';
import '../../core/utils/size_config.dart';
@@ -72,7 +73,7 @@ class TendersListItem extends StatelessWidget {
SizedBox(height: 24.0.h()),
Row(
children: [
- SvgPicture.asset('assets/icons/location.svg'),
+ SvgPicture.asset(AssetsManager.location),
SizedBox(width: 1.0.w()),
Text(
'Location',
@@ -86,7 +87,7 @@ class TendersListItem extends StatelessWidget {
SizedBox(
width: 32.0.w(),
height: 21.0.h(),
- child: Image.asset('assets/icons/SE.png', fit: BoxFit.cover),
+ child: Image.asset(AssetsManager.seFlag, fit: BoxFit.cover),
),
Spacer(),
Container(
diff --git a/lib/views/tenders/widgets/last_tenders_tab.dart b/lib/views/tenders/widgets/last_tenders_tab.dart
deleted file mode 100644
index 983cb7d..0000000
--- a/lib/views/tenders/widgets/last_tenders_tab.dart
+++ /dev/null
@@ -1,10 +0,0 @@
-import 'package:flutter/material.dart';
-
-class LastTendersTab extends StatelessWidget {
- const LastTendersTab({super.key});
-
- @override
- Widget build(BuildContext context) {
- return Container(color: Colors.blue);
- }
-}
diff --git a/lib/views/tenders/widgets/main_tenders_slider.dart b/lib/views/tenders/widgets/main_tenders_slider.dart
index bbd4918..7e7c408 100644
--- a/lib/views/tenders/widgets/main_tenders_slider.dart
+++ b/lib/views/tenders/widgets/main_tenders_slider.dart
@@ -126,7 +126,22 @@ class _MainTendersSliderState extends State {
children: [
GestureDetector(
onTap: _goToPreviousPage,
- child: SvgPicture.asset(AssetsManager.arrowCircleLeft),
+ child: Container(
+ width: 32.0.w(),
+ height: 32.0.w(),
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ border: Border.all(color: AppColors.iconColor, width: 1.5),
+ ),
+ alignment: Alignment.center,
+ child: SvgPicture.asset(
+ AssetsManager.arrowLeftSmall,
+ colorFilter: ColorFilter.mode(
+ AppColors.iconColor,
+ BlendMode.srcATop,
+ ),
+ ),
+ ),
),
Text(
'$currentPage/${sampleTenders.length}',
@@ -138,7 +153,22 @@ class _MainTendersSliderState extends State {
),
GestureDetector(
onTap: _goToNextPage,
- child: SvgPicture.asset(AssetsManager.arrowCircleRight),
+ child: Container(
+ width: 32.0.w(),
+ height: 32.0.w(),
+ decoration: BoxDecoration(
+ shape: BoxShape.circle,
+ border: Border.all(color: AppColors.iconColor, width: 1.5),
+ ),
+ alignment: Alignment.center,
+ child: SvgPicture.asset(
+ AssetsManager.arrowRightSmall,
+ colorFilter: ColorFilter.mode(
+ AppColors.iconColor,
+ BlendMode.srcATop,
+ ),
+ ),
+ ),
),
],
),
diff --git a/lib/views/tenders/widgets/tender_card.dart b/lib/views/tenders/widgets/tender_card.dart
index 1cb45e2..5424b54 100644
--- a/lib/views/tenders/widgets/tender_card.dart
+++ b/lib/views/tenders/widgets/tender_card.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
+import 'package:tm_app/core/constants/strings.dart';
import '../../../core/constants/assets.dart';
import '../../../core/theme/colors.dart';
@@ -84,7 +85,7 @@ class TenderCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
- 'Deadline:',
+ AppStrings.tenderDeadlineLabel,
style: TextStyle(
color: AppColors.textBlue,
fontSize: 14.0.sp(),
@@ -150,7 +151,7 @@ class TenderCard extends StatelessWidget {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
- 'Match with your profile',
+ AppStrings.tenderMatchProfile,
style: TextStyle(
color: AppColors.grey80,
fontSize: 14.0.sp(),
@@ -230,7 +231,7 @@ class TenderCard extends StatelessWidget {
borderRadius: BorderRadius.circular(100),
),
child: Text(
- 'See More',
+ AppStrings.tenderSeeMore,
style: TextStyle(
color: AppColors.mainBlue,
fontSize: 14.0.sp(),
diff --git a/lib/views/tenders/widgets/widgets.dart b/lib/views/tenders/widgets/widgets.dart
index 089d107..ec13bdb 100644
--- a/lib/views/tenders/widgets/widgets.dart
+++ b/lib/views/tenders/widgets/widgets.dart
@@ -1,4 +1,3 @@
-export 'last_tenders_tab.dart';
export '../../shared/main_tab_bar.dart';
export 'tender_app_bar.dart';
export 'tender_card.dart';
diff --git a/lib/views/your_tenders/your_tenders_screen.dart b/lib/views/your_tenders/your_tenders_screen.dart
index df35a44..8a4bc61 100644
--- a/lib/views/your_tenders/your_tenders_screen.dart
+++ b/lib/views/your_tenders/your_tenders_screen.dart
@@ -40,7 +40,7 @@ class _YourTendersScreenState extends State
children: [
MainTabBar(
controller: controller,
- titles: ['Approved tenders', 'Tenders submitted'],
+ titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
),
Expanded(
child: TabBarView(