diff --git a/lib/src/ui/bloc/anime_list_bloc.dart b/lib/src/ui/bloc/anime_list_bloc.dart index 7079ab3..e46c43a 100644 --- a/lib/src/ui/bloc/anime_list_bloc.dart +++ b/lib/src/ui/bloc/anime_list_bloc.dart @@ -6,7 +6,6 @@ import 'package:anitrack/src/ui/bloc/navigation_bloc.dart'; import 'package:anitrack/src/ui/constants.dart'; import 'package:bloc/bloc.dart'; import 'package:collection/collection.dart'; -import 'package:flutter/cupertino.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:get_it/get_it.dart'; @@ -42,9 +41,6 @@ class AnimeListBloc extends Bloc { growable: true, ); - /// Controller for the bottom navigation bar - final pageController = PageController(); - List get unfilteredAnime => _animes; List _getFilteredAnime({ diff --git a/lib/src/ui/pages/anime_list.dart b/lib/src/ui/pages/anime_list.dart index ce5af6b..b128f2f 100644 --- a/lib/src/ui/pages/anime_list.dart +++ b/lib/src/ui/pages/anime_list.dart @@ -10,7 +10,6 @@ import 'package:bottom_bar/bottom_bar.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:get_it/get_it.dart'; -import 'package:go_router/go_router.dart'; class AnimeListPage extends StatefulWidget { const AnimeListPage({ @@ -104,17 +103,15 @@ class AnimeListPage extends StatefulWidget { AnimeListPage.getPageTitle(state.trackingType), ), ), - actions: [ + actions: const [ BlocBuilder( - builder: (context, state) => - AnimeListPage.getPopupButton(context, state), + builder: AnimeListPage.getPopupButton, ), ], ); } static Widget buildBottomNavigationBar(BuildContext context) { - final pageController = context.read().pageController; return BlocBuilder( builder: (context, state) => BottomBar( selectedIndex: state.trackingType == TrackingMediumType.anime ? 0 : 1, @@ -124,8 +121,6 @@ class AnimeListPage extends StatefulWidget { index == 0 ? TrackingMediumType.anime : TrackingMediumType.manga, ), ); - - pageController.jumpToPage(index); }, items: [ BottomBarItem( @@ -155,7 +150,9 @@ class AnimeListPage extends StatefulWidget { curve: Curves.easeInOutQuint, child: FloatingActionButton( onPressed: () { - context.push(animeSearchRoute); + context.read().add( + AnimeSearchRequestedEvent(state.trackingType), + ); }, tooltip: t.tooltips.addNewItem, child: const Icon(Icons.add), @@ -170,7 +167,6 @@ class AnimeListPage extends StatefulWidget { } class AnimeListPageState extends State { - final PageController _controller = PageController(); final ScrollController _animeScrollController = ScrollController(); @override @@ -180,7 +176,6 @@ class AnimeListPageState extends State { } void _onAnimeListScrolled() { - //print(_animeScrollController.position.maxScrollExtent); final bloc = GetIt.I.get(); if (_animeScrollController.offset + 20 >= _animeScrollController.position.maxScrollExtent) { @@ -202,11 +197,8 @@ class AnimeListPageState extends State { Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { - return PageView( - // Prevent swiping between pages - // (https://github.com/flutter/flutter/issues/37510#issuecomment-612663656) - physics: const NeverScrollableScrollPhysics(), - controller: _controller, + return IndexedStack( + index: state.trackingType == TrackingMediumType.anime ? 0 : 1, children: [ Padding( padding: const EdgeInsets.symmetric(horizontal: 8),