import 'package:flutter/material.dart'; import 'package:real_estate_mobile/core/widgets/app_bottom_nav_bar.dart'; import 'package:real_estate_mobile/features/home/presentation/widgets/home_header.dart'; /// Root shell that provides the persistent header and bottom nav bar. /// Only the content area (child) swaps when navigating between tabs. class AppShell extends StatelessWidget { final Widget child; const AppShell({super.key, required this.child}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: Column( children: [ SafeArea( bottom: false, child: const HomeHeader(), ), Expanded( child: AnimatedSwitcher( duration: const Duration(milliseconds: 200), switchInCurve: Curves.easeOut, switchOutCurve: Curves.easeIn, transitionBuilder: (child, animation) { return FadeTransition( opacity: animation, child: child, ); }, child: KeyedSubtree( key: ValueKey(child.runtimeType), child: child, ), ), ), ], ), bottomNavigationBar: const AppBottomNavBar(), ); } }