import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:gascom/constants/app_theme.dart'; import 'package:gascom/screens/follow_order_screen.dart'; import 'package:gascom/screens/generator_info_screen.dart'; import 'package:gascom/screens/home_screen.dart'; import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart'; class BottomNav extends StatelessWidget { const BottomNav({ super.key, }); @override Widget build(BuildContext context) { return PersistentTabView( controller: PersistentTabController(initialIndex: 0), resizeToAvoidBottomInset: false, navBarHeight: 70, tabs: [ tabConfig( context, const HomeScreen(), "home", "assets/svgs/home_filled.svg", "assets/svgs/home.svg", "Home Active", "Home Inactive", "الرئيسية", ), tabConfig( context, const GeneratorInfoScreen(), "generator_info", "assets/svgs/generator_filled.svg", "assets/svgs/generator.svg", "Generator Info Active", "Generator Info Inactive", "معلومات المولدة", ), tabConfig( context, const FollowOrderScreen(), "follow_order", "assets/svgs/van_filled.svg", "assets/svgs/van.svg", "Follow Order Active", "Follow Order Inactive", "تتبع الطلب", ), ], navBarBuilder: (navBarConfig) => Style6BottomNavBar( navBarConfig: navBarConfig, navBarDecoration: NavBarDecoration( color: AppTheme.secondaryColor, padding: EdgeInsets.all(10), boxShadow: [ BoxShadow( color: Colors.black.withOpacity(0.15), blurRadius: 10, spreadRadius: 1, offset: const Offset(0, 0), ), ], ), ), ); } PersistentTabConfig tabConfig( BuildContext context, Widget screen, String initialRoute, String activeIcon, String inactiveIcon, String activeSemanticsLabel, String inactiveSemanticsLabel, String title, ) { return PersistentTabConfig( screen: screen, navigatorConfig: NavigatorConfig( initialRoute: initialRoute, ), item: ItemConfig( icon: Padding( padding: const EdgeInsets.only(top: 4, left: 4, right: 4), child: SvgPicture.asset( activeIcon, semanticsLabel: activeSemanticsLabel, ), ), inactiveIcon: SvgPicture.asset( inactiveIcon, semanticsLabel: inactiveSemanticsLabel, ), activeForegroundColor: AppTheme.primaryColor, inactiveForegroundColor: AppTheme.primaryColor, textStyle: Theme.of(context).textTheme.bodySmall ?? TextStyle(), title: title, ) ); } }