added your tenders screen

This commit is contained in:
amirrezaghabeli
2025-08-05 19:18:47 +03:30
parent 9f6c458e15
commit 21d13ac072
24 changed files with 682 additions and 63 deletions
+2 -1
View File
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:tm_app/core/constants/assets.dart';
import '../../core/utils/size_config.dart';
@@ -33,7 +34,7 @@ class _TenderBottomNavigationState extends State<TenderBottomNavigation> {
});
},
iconPath: 'assets/icons/home.svg',
activeIconPath: 'assets/icons/homeActive.svg',
activeIconPath: AssetsManager.homeActive,
),
_bottomNavigationItem(
text: 'Tenders',
+55
View File
@@ -0,0 +1,55 @@
import 'package:flutter/material.dart';
import '../../core/constants/colors.dart';
import '../../core/utils/size_config.dart';
class MainTabBar extends StatefulWidget {
const MainTabBar({required this.controller, required this.titles, super.key});
final TabController controller;
final List<String> titles;
@override
State<MainTabBar> createState() => _MainTabBarState();
}
class _MainTabBarState extends State<MainTabBar> {
@override
Widget build(BuildContext context) {
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,
borderRadius: BorderRadius.circular(10),
),
alignment: Alignment.center,
child: TabBar(
indicatorSize: TabBarIndicatorSize.tab,
dividerColor: Colors.transparent,
indicator: BoxDecoration(
color: AppColors.backgroundColor,
borderRadius: BorderRadius.circular(10),
boxShadow: [
BoxShadow(
color: Colors.black.withValues(alpha: 0.12),
blurRadius: 4,
offset: Offset(0, 2),
),
],
),
controller: widget.controller,
labelColor: AppColors.mainBlue,
unselectedLabelColor: AppColors.grey60,
labelStyle: TextStyle(fontSize: 16.0.sp(), fontWeight: FontWeight.w600),
unselectedLabelStyle: TextStyle(
fontSize: 16.0.sp(),
fontWeight: FontWeight.w600,
),
tabs: [Tab(text: widget.titles[0]), Tab(text: widget.titles[1])],
),
);
}
}
+39
View File
@@ -0,0 +1,39 @@
import 'package:flutter/material.dart';
import '../../core/constants/colors.dart';
import '../../core/utils/size_config.dart';
class TabItem extends StatelessWidget {
const TabItem({
required this.title,
required this.isActive,
required this.onTap,
super.key,
});
final String title;
final bool isActive;
final VoidCallback onTap;
@override
Widget build(BuildContext context) {
return InkWell(
onTap: onTap,
child: Tab(
child: SizedBox(
width: 170.0.w(),
child: Center(
child: Text(
title,
style: TextStyle(
fontSize: 16.0.sp(),
fontWeight: FontWeight.w600,
color: isActive ? AppColors.mainBlue : AppColors.grey60,
),
),
),
),
),
);
}
}