some fixes

This commit is contained in:
amirrezaghabeli
2025-08-09 10:40:33 +03:30
parent 7e2a82421a
commit 99b6bbb13f
15 changed files with 84 additions and 41 deletions
+9
View File
@@ -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';
+16 -14
View File
@@ -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 Norrbottens e-board (all municipalities in Norrbotten)...';
static const String tenderMatchPercentageExample = '75%';
static const String locationDescription = 'Luleå Municipality is procuring on behalf of Norrbottens 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 Norrbottens 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 Norrbottens e-board (all municipalities in Norrbotten)...';
static const String tenderMatchPercentageExample = '75%';
static const String locationDescription =
'Luleå Municipality is procuring on behalf of Norrbottens 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 Norrbottens 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';
}
+3
View File
@@ -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)
+1 -1
View File
@@ -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,
+6 -5
View File
@@ -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),
+1 -1
View File
@@ -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,
+2 -1
View File
@@ -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(),
],
),
+3 -2
View File
@@ -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(
@@ -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);
}
}
@@ -126,7 +126,22 @@ class _MainTendersSliderState extends State<MainTendersSlider> {
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<MainTendersSlider> {
),
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,
),
),
),
),
],
),
+4 -3
View File
@@ -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(),
-1
View File
@@ -1,4 +1,3 @@
export 'last_tenders_tab.dart';
export '../../shared/main_tab_bar.dart';
export 'tender_app_bar.dart';
export 'tender_card.dart';
@@ -40,7 +40,7 @@ class _YourTendersScreenState extends State<YourTendersScreen>
children: [
MainTabBar(
controller: controller,
titles: ['Approved tenders', 'Tenders submitted'],
titles: [AppStrings.approvedTenders, AppStrings.tenderSubmitted],
),
Expanded(
child: TabBarView(