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/view_models/profile_view_model.dart'; import 'package:tm_app/views/shared/responsive_builder.dart'; import '../pages/d_profile_page.dart'; import '../pages/m_profile_page.dart'; import '../pages/t_profile_page.dart'; class ProfileScreen extends StatefulWidget { const ProfileScreen({super.key}); @override State createState() => _ProfileScreenState(); } class _ProfileScreenState extends State { late final ProfileViewModel _viewModel; late final TabNavigationService _tabService; @override void initState() { super.initState(); _viewModel = context.read(); _tabService = context.read(); _tabService.addListener(_onTabChanged); WidgetsBinding.instance.addPostFrameCallback((_) { _viewModel.getCompanyProfile(); }); } @override void dispose() { _tabService.removeListener(_onTabChanged); super.dispose(); } void _onTabChanged() { // Tab index 2 is Profile if (_tabService.currentTabIndex == 2 && mounted) { _viewModel.getCompanyProfile(); } } @override Widget build(BuildContext context) { SizeConfig.init(context); return const ResponsiveBuilder( mobile: MobileProfilePage(), tablet: TabletProfilePage(), desktop: DesktopProfilePage(), ); } }