import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; class SettingsBar extends StatelessWidget { final int selectedIndex; final ValueChanged onTap; final bool showBackButton; final VoidCallback? onBackTap; final List iconPaths; const SettingsBar({ super.key, required this.selectedIndex, required this.onTap, this.showBackButton = false, // to switch between back button and settings icons this.onBackTap, required this.iconPaths, }); @override Widget build(BuildContext context) { return Container( color: Colors.transparent, padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 20.0), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ Image.asset('assets/images/logo2.png', width: 150, height: 40), ], ), Row( children: [ if (showBackButton) GestureDetector( onTap: onBackTap, child: Container( width: 50, height: 50, decoration: BoxDecoration( color: Colors.white, shape: BoxShape.circle, boxShadow: [ BoxShadow( color: const Color(0x10000000), blurRadius: 5, offset: const Offset(0, 2), ), ], ), child: Center( // Always use Flutter's built-in back icon pointing to the right child: const Icon( Icons.arrow_forward, // Changed to arrow_forward for RTL size: 26, color: Colors.black, // Adjust color as needed ), ), ), ), // When back button is OFF → show user + settings icons if (!showBackButton) ...iconPaths.asMap().entries.map((entry) { final index = entry.key; final iconPath = entry.value; // final isSelected = selectedIndex == index; return Padding( padding: const EdgeInsets.only(left: 10), child: GestureDetector( onTap: () => onTap(index), child: Container( width: 43, height: 43, decoration: BoxDecoration( color: Colors.white, shape: BoxShape.circle, boxShadow: [ BoxShadow( color: const Color(0x10000000), blurRadius: 5, offset: const Offset(0, 2), ), ], ), child: Center( child: Stack( children: [ SvgPicture.asset(iconPath, width: 30, height: 30), ], ), ), ), ), ); }), ], ), ], ), ); } }