fix: refresh issue

This commit is contained in:
omkar 2025-01-12 17:06:37 +05:30
parent 3cfca5013b
commit b2db6c28f9
2 changed files with 13 additions and 8 deletions

View file

@ -10,9 +10,12 @@ import '../../settings/screen/trakt_integration_screen.dart';
class TraktContainer extends StatefulWidget { class TraktContainer extends StatefulWidget {
final String loadId; final String loadId;
final int itemsPerPage;
const TraktContainer({ const TraktContainer({
super.key, super.key,
required this.loadId, required this.loadId,
this.itemsPerPage = 5,
}); });
@override @override
@ -28,8 +31,6 @@ class TraktContainerState extends State<TraktContainer> {
int _currentPage = 1; int _currentPage = 1;
static const _itemsPerPage = 5;
final _scrollController = ScrollController(); final _scrollController = ScrollController();
StreamSubscription<List<String>>? _steam; StreamSubscription<List<String>>? _steam;
@ -96,38 +97,38 @@ class TraktContainerState extends State<TraktContainer> {
newItems = await TraktService.instance! newItems = await TraktService.instance!
.getUpNextSeries( .getUpNextSeries(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
) )
.first; .first;
break; break;
case "continue_watching": case "continue_watching":
newItems = await TraktService.instance!.getContinueWatching( newItems = await TraktService.instance!.getContinueWatching(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
); );
break; break;
case "upcoming_schedule": case "upcoming_schedule":
newItems = await TraktService.instance!.getUpcomingSchedule( newItems = await TraktService.instance!.getUpcomingSchedule(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
); );
break; break;
case "watchlist": case "watchlist":
newItems = await TraktService.instance!.getWatchlist( newItems = await TraktService.instance!.getWatchlist(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
); );
break; break;
case "show_recommendations": case "show_recommendations":
newItems = await TraktService.instance!.getShowRecommendations( newItems = await TraktService.instance!.getShowRecommendations(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
); );
break; break;
case "movie_recommendations": case "movie_recommendations":
newItems = await TraktService.instance!.getMovieRecommendations( newItems = await TraktService.instance!.getMovieRecommendations(
page: page, page: page,
itemsPerPage: _itemsPerPage, itemsPerPage: widget.itemsPerPage,
); );
break; break;
default: default:

View file

@ -184,6 +184,8 @@ class _HomeTabPageState extends State<HomeTabPage> {
); );
} }
final mediaQuery = MediaQuery.of(context).size.width;
return Padding( return Padding(
padding: const EdgeInsets.symmetric( padding: const EdgeInsets.symmetric(
vertical: 8.0, vertical: 8.0,
@ -196,6 +198,8 @@ class _HomeTabPageState extends State<HomeTabPage> {
return TraktContainer( return TraktContainer(
key: _getKey(index), key: _getKey(index),
itemsPerPage:
(mediaQuery / getItemWidth(context)).toInt() + 1,
loadId: category, loadId: category,
); );
} }