ui complete

This commit is contained in:
amirrezaghabeli
2025-08-04 08:07:26 +03:30
parent df02cff668
commit ae4c81cad0
8 changed files with 125 additions and 88 deletions
@@ -19,6 +19,7 @@ class _MainTabBarState extends State<MainTabBar> {
return Container(
width: double.infinity,
height: 51.0.h(),
margin: EdgeInsets.symmetric(horizontal: 24.0.w()),
padding: EdgeInsets.symmetric(horizontal: 8.0.w(), vertical: 8.0.h()),
decoration: BoxDecoration(
color: AppColors.grey10,
@@ -0,0 +1,52 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import '../../../core/constants/assets.dart';
import '../../../core/utils/size_config.dart';
class TenderActionButtons extends StatelessWidget {
final VoidCallback? onLike;
final VoidCallback? onDislike;
final VoidCallback? onClose;
final bool isLiked;
final bool isDisliked;
const TenderActionButtons({
super.key,
this.onLike,
this.onDislike,
this.onClose,
this.isLiked = false,
this.isDisliked = false,
});
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(width: 16.0.w()),
// Dislike button
GestureDetector(
onTap: onDislike,
child: SvgPicture.asset(AssetsManager.dislike),
),
SizedBox(width: 16.0.w()),
// Close button
GestureDetector(
onTap: onClose,
child: SvgPicture.asset(AssetsManager.closeCircle),
),
SizedBox(width: 16.0.w()),
// Like button
GestureDetector(
onTap: onLike,
child: SvgPicture.asset(AssetsManager.like),
),
],
);
}
}
+20 -17
View File
@@ -10,24 +10,27 @@ class TenderAppBar extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppStrings.tendersTitle,
style: TextStyle(
fontSize: 20.0.sp(),
fontWeight: FontWeight.w600,
color: AppColors.grey70,
return Padding(
padding: EdgeInsets.symmetric(horizontal: 24.0.w()),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
AppStrings.tendersTitle,
style: TextStyle(
fontSize: 20.0.sp(),
fontWeight: FontWeight.w600,
color: AppColors.grey70,
),
),
),
Image.asset(
AssetsManager.tenderLogo,
width: 59.0.w(),
height: 28.0.h(),
fit: BoxFit.cover,
),
],
Image.asset(
AssetsManager.tenderLogo,
width: 59.0.w(),
height: 28.0.h(),
fit: BoxFit.cover,
),
],
),
);
}
}
+2 -49
View File
@@ -4,6 +4,7 @@ import 'package:flutter_svg/svg.dart';
import '../../../core/constants/assets.dart';
import '../../../core/constants/colors.dart';
import '../../../core/utils/size_config.dart';
import 'tender_action_buttons.dart';
class TenderCard extends StatelessWidget {
final String date;
@@ -220,7 +221,7 @@ class TenderCard extends StatelessWidget {
),
),
// Apply button
// See More button
GestureDetector(
onTap: onApply,
child: Container(
@@ -261,51 +262,3 @@ class TenderCard extends StatelessWidget {
);
}
}
// Action buttons row widget
class TenderActionButtons extends StatelessWidget {
final VoidCallback? onLike;
final VoidCallback? onDislike;
final VoidCallback? onClose;
final bool isLiked;
final bool isDisliked;
const TenderActionButtons({
super.key,
this.onLike,
this.onDislike,
this.onClose,
this.isLiked = false,
this.isDisliked = false,
});
@override
Widget build(BuildContext context) {
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(width: 16.0.w()),
// Dislike button
GestureDetector(
onTap: onDislike,
child: SvgPicture.asset(AssetsManager.dislike),
),
SizedBox(width: 16.0.w()),
// Close button
GestureDetector(
onTap: onClose,
child: SvgPicture.asset(AssetsManager.closeCircle),
),
SizedBox(width: 16.0.w()),
// Like button
GestureDetector(
onTap: onLike,
child: SvgPicture.asset(AssetsManager.like),
),
],
);
}
}