mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 11:08:03 +08:00
@@ -9,14 +9,17 @@ import 'package:PiliPlus/pages/common/common_list_controller.dart';
|
||||
import 'package:PiliPlus/services/account_service.dart';
|
||||
import 'package:PiliPlus/utils/extension/scroll_controller_ext.dart';
|
||||
import 'package:PiliPlus/utils/storage_pref.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart' show ScrollController;
|
||||
import 'package:get/get.dart';
|
||||
|
||||
class PgcController
|
||||
extends CommonListController<List<PgcIndexItem>?, PgcIndexItem>
|
||||
with AccountMixin {
|
||||
PgcController({required this.tabType});
|
||||
PgcController({required this.tabType})
|
||||
: indexType = tabType == HomeTabType.cinema ? 102 : null;
|
||||
|
||||
final HomeTabType tabType;
|
||||
final int? indexType;
|
||||
|
||||
late final showPgcTimeline =
|
||||
tabType == HomeTabType.bangumi && Pref.showPgcTimeline;
|
||||
@@ -33,9 +36,6 @@ class PgcController
|
||||
if (showPgcTimeline) {
|
||||
queryPgcTimeline();
|
||||
}
|
||||
if (accountService.isLogin.value) {
|
||||
followController = ScrollController();
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -62,7 +62,7 @@ class PgcController
|
||||
late bool followEnd = false;
|
||||
late Rx<LoadingState<List<FavPgcItemModel>?>> followState =
|
||||
LoadingState<List<FavPgcItemModel>?>.loading().obs;
|
||||
ScrollController? followController;
|
||||
final followController = ScrollController();
|
||||
|
||||
// timeline
|
||||
late Rx<LoadingState<List<TimelineResult>?>> timelineState =
|
||||
@@ -117,7 +117,7 @@ class PgcController
|
||||
followEnd = true;
|
||||
}
|
||||
followState.value = Success(list);
|
||||
followController?.animToTop();
|
||||
followController.jumpToTop();
|
||||
} else if (followState.value case Success(:final response)) {
|
||||
final currentList = response!..addAll(list);
|
||||
if (currentList.length >= followCount.value) {
|
||||
@@ -135,12 +135,12 @@ class PgcController
|
||||
@override
|
||||
Future<LoadingState<List<PgcIndexItem>?>> customGetData() => PgcHttp.pgcIndex(
|
||||
page: page,
|
||||
indexType: tabType == HomeTabType.cinema ? 102 : null,
|
||||
indexType: indexType,
|
||||
);
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
followController?.dispose();
|
||||
followController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user