part of '../neon_news.dart'; class NewsMainPage extends StatefulWidget { const NewsMainPage({ super.key, }); @override State createState() => _NewsMainPageState(); } class _NewsMainPageState extends State { late NewsBloc bloc; late int _index = bloc.options.defaultCategoryOption.value.index; @override void initState() { super.initState(); bloc = Provider.of(context, listen: false); bloc.errors.listen((final error) { NeonException.showSnackbar(context, error); }); } @override Widget build(final BuildContext context) { const views = [ NewsArticlesView(), NewsFoldersView(), NewsFeedsView(), ]; const floatingActionButtons = [ null, NewsFolderFloatingActionButton(), NewsFeedFloatingActionButton(), ]; return Scaffold( resizeToAvoidBottomInset: false, bottomNavigationBar: BottomNavigationBar( currentIndex: _index, onTap: (final index) { setState(() { _index = index; }); }, items: [ BottomNavigationBarItem( icon: const Icon(Icons.newspaper), label: AppLocalizations.of(context).articles, ), BottomNavigationBarItem( icon: const Icon(Icons.folder), label: AppLocalizations.of(context).folders, ), BottomNavigationBarItem( icon: const Icon(Icons.rss_feed), label: AppLocalizations.of(context).feeds, ), ], ), body: views[_index], floatingActionButton: floatingActionButtons[_index], ); } }