import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../../../core/services/tab_navigation_service.dart'; import '../../../core/utils/size_config.dart'; import '../../../view_models/home_view_model.dart'; import '../../shared/responsive_builder.dart'; import '../widgets.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State createState() => _HomeScreenState(); } class _HomeScreenState extends State { late final HomeViewModel _viewModel; late final TabNavigationService _tabService; @override void initState() { super.initState(); _viewModel = context.read(); _tabService = context.read(); _tabService.addListener(_onTabChanged); } @override void dispose() { _tabService.removeListener(_onTabChanged); super.dispose(); } void _onTabChanged() { // Tab index 0 is Home if (_tabService.currentTabIndex == 0 && mounted) { _viewModel.init(); } } @override Widget build(BuildContext context) { SizeConfig.init(context); return const ResponsiveBuilder( mobile: MobileHomePage(), tablet: TabletHomePage(), desktop: DesktopHomePage(), ); } }