import 'package:flutter/material.dart'; import '../../core/theme/colors.dart'; import '../../core/utils/size_config.dart'; class MainTabBar extends StatefulWidget { const MainTabBar({ required this.controller, required this.titles, this.onTap, super.key, }); final TabController controller; final List titles; final ValueChanged? onTap; @override State createState() => _MainTabBarState(); } class _MainTabBarState extends State { @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( controller: widget.controller, onTap: widget.onTap, indicatorSize: TabBarIndicatorSize.tab, dividerColor: Colors.transparent, indicator: BoxDecoration( color: AppColors.primary0, borderRadius: BorderRadius.circular(10), boxShadow: [ BoxShadow( color: Colors.black.withValues(alpha: 0.12), blurRadius: 4, offset: const Offset(0, 2), ), ], ), 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]), Tab(text: widget.titles[2]), ], ), ); } }