import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:tm_app/core/services/tab_navigation_service.dart'; import 'package:tm_app/core/utils/size_config.dart'; import 'package:tm_app/views/shared/responsive_builder.dart'; import '../../../view_models/tenders_view_model.dart'; import 'd_tenders_page.dart'; import 'm_tenders_page.dart'; import 't_tenders_page.dart'; class TendersScreen extends StatefulWidget { const TendersScreen({super.key}); @override State createState() => _TendersScreenState(); } class _TendersScreenState extends State { late final TendersViewModel _viewModel; late final TabNavigationService _tabService; @override void initState() { super.initState(); _viewModel = context.read(); _tabService = context.read(); _tabService.addListener(_onTabChanged); WidgetsBinding.instance.addPostFrameCallback((_) { _viewModel.init(context); }); } @override void dispose() { _tabService.removeListener(_onTabChanged); super.dispose(); } void _onTabChanged() { // Tab index 1 is Tenders if (_tabService.currentTabIndex == 1 && mounted) { _viewModel.init(context); } } @override Widget build(BuildContext context) { SizeConfig.init(context); return const ResponsiveBuilder( mobile: MobileTendersPage(), tablet: TabletTendersPage(), desktop: DesktopTendersPage(), ); } }