import 'package:didvan/config/design_config.dart'; import 'package:didvan/pages/home/home_state.dart'; import 'package:didvan/pages/home/news/news.dart'; import 'package:didvan/pages/home/profile/profile.dart'; import 'package:didvan/pages/home/radar/radar.dart'; import 'package:didvan/pages/home/radar/radar_state.dart'; import 'package:didvan/pages/home/statistics/statistics.dart'; import 'package:didvan/pages/home/studio/studio.dart'; import 'package:didvan/pages/home/widgets/bnb.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class Home extends StatefulWidget { const Home({Key? key}) : super(key: key); @override State createState() => _HomeState(); } class _HomeState extends State with SingleTickerProviderStateMixin { late final TabController _tabController; @override void initState() { Future.delayed(const Duration(milliseconds: 400), () { DesignConfig.context = context; DesignConfig.updateSystemUiOverlayStyle(); }); _tabController = TabController(length: 5, vsync: this); _tabController.addListener(() { context.read().currentPageIndex = _tabController.index; }); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( body: TabBarView( physics: const NeverScrollableScrollPhysics(), controller: _tabController, children: [ const News(), const Statictics(), ChangeNotifierProvider( create: (context) => RadarState(), child: const Radar(), ), const Studio(), const Profile(), ], ), bottomNavigationBar: Consumer( builder: (context, state, child) => DidvanBNB( currentTabIndex: state.currentPageIndex, onTabChanged: (index) { state.currentPageIndex = index; _tabController.animateTo(index); }, ), ), ); } }