mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
opt: load previous data
Closes #597 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:PiliPlus/common/widgets/interactiveviewer_gallery/interactivevie
|
||||
show SourceModel;
|
||||
import 'package:PiliPlus/common/widgets/loading_widget.dart';
|
||||
import 'package:PiliPlus/common/widgets/network_img_layer.dart';
|
||||
import 'package:PiliPlus/common/widgets/scroll_physics.dart';
|
||||
import 'package:PiliPlus/common/widgets/video_card_h_member_video.dart';
|
||||
import 'package:PiliPlus/http/loading_state.dart';
|
||||
import 'package:PiliPlus/models/member/info.dart';
|
||||
@@ -179,7 +180,7 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
color: Colors.transparent,
|
||||
child: CustomScrollView(
|
||||
controller: _controller.scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
physics: const PositionRetainedScrollPhysics(),
|
||||
slivers: [
|
||||
_buildSliverHeader,
|
||||
SliverPadding(
|
||||
@@ -198,11 +199,12 @@ class _HorizontalMemberPageState extends State<HorizontalMemberPage> {
|
||||
_controller.hasNext) {
|
||||
_controller.onLoadMore();
|
||||
}
|
||||
final Item videoItem = loadingState.response[index];
|
||||
return VideoCardHMemberVideo(
|
||||
videoItem: loadingState.response[index],
|
||||
key: ValueKey('${videoItem.param}'),
|
||||
videoItem: videoItem,
|
||||
bvid: _bvid,
|
||||
onTap: () {
|
||||
final Item videoItem = loadingState.response[index];
|
||||
final status =
|
||||
widget.videoIntroController.changeSeasonOrbangu(
|
||||
null,
|
||||
|
||||
@@ -51,7 +51,7 @@ import 'package:screen_brightness/screen_brightness.dart';
|
||||
|
||||
import '../../../services/shutdown_timer_service.dart';
|
||||
import 'widgets/header_control.dart';
|
||||
import 'package:PiliPlus/common/widgets/spring_physics.dart';
|
||||
import 'package:PiliPlus/common/widgets/scroll_physics.dart';
|
||||
|
||||
class VideoDetailPageV extends StatefulWidget {
|
||||
const VideoDetailPageV({super.key});
|
||||
|
||||
@@ -2,6 +2,7 @@ import 'package:PiliPlus/common/widgets/dialog.dart';
|
||||
import 'package:PiliPlus/common/widgets/icon_button.dart';
|
||||
import 'package:PiliPlus/common/widgets/image_save.dart';
|
||||
import 'package:PiliPlus/common/widgets/refresh_indicator.dart';
|
||||
import 'package:PiliPlus/common/widgets/scroll_physics.dart';
|
||||
import 'package:PiliPlus/common/widgets/stat/stat.dart';
|
||||
import 'package:PiliPlus/pages/common/common_collapse_slide_page.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -126,7 +127,7 @@ class _MediaListPanelState
|
||||
widget.onDelete != null && widget.mediaList.length > 1;
|
||||
return ScrollablePositionedList.separated(
|
||||
itemScrollController: _scrollController,
|
||||
physics: const AlwaysScrollableScrollPhysics(),
|
||||
physics: const PositionRetainedScrollPhysics(),
|
||||
itemCount: widget.mediaList.length,
|
||||
padding: EdgeInsets.only(
|
||||
top: 7,
|
||||
@@ -140,6 +141,7 @@ class _MediaListPanelState
|
||||
widget.loadMoreMedia();
|
||||
}
|
||||
return SizedBox(
|
||||
key: ValueKey('${item.aid}'),
|
||||
height: 98,
|
||||
child: InkWell(
|
||||
onTap: () async {
|
||||
|
||||
Reference in New Issue
Block a user