mod: member video

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-05-12 20:59:18 +08:00
parent 9b86e24513
commit de9eb2292e
2 changed files with 29 additions and 26 deletions

View File

@@ -39,13 +39,13 @@ class MemberVideoCtr
String? firstAid;
String? lastAid;
String? fromViewAid;
bool? isLocating;
Rx<bool?> isLocating = Rx<bool?>(null);
bool? isLoadPrevious;
bool? hasPrev;
@override
Future<void> onRefresh() async {
if (isLocating == true) {
if (isLocating.value == true) {
if (hasPrev == true) {
isLoadPrevious = true;
await queryData();
@@ -127,12 +127,12 @@ class MemberVideoCtr
next: next,
seasonId: seasonId,
seriesId: seriesId,
includeCursor: isLocating == true && page == 0 ? true : null,
includeCursor: isLocating.value == true && page == 0 ? true : null,
);
void queryBySort() {
if (type == ContributeType.video) {
isLocating = null;
isLocating.value = null;
order.value = order.value == 'pubdate' ? 'click' : 'pubdate';
} else {
sort.value = sort.value == 'desc' ? 'asc' : 'desc';
@@ -221,7 +221,7 @@ class MemberVideoCtr
@override
Future<void> onReload() {
isLocating = null;
isLocating.value = null;
return super.onReload();
}
}

View File

@@ -63,7 +63,7 @@ class _MemberVideoState extends State<MemberVideo>
onRefresh: _controller.onRefresh,
child: CustomScrollView(
// physics: PositionRetainedScrollPhysics(
// shouldRetain: _controller.isLocating == true,
// shouldRetain: _controller.isLocating.value == true,
// parent: const ClampingScrollPhysics(),
// ),
slivers: [
@@ -78,26 +78,29 @@ class _MemberVideoState extends State<MemberVideo>
),
),
if (widget.type == ContributeType.video &&
_controller.fromViewAid?.isNotEmpty == true &&
_controller.isLocating != true)
Positioned(
right: 15,
bottom: 15,
child: SafeArea(
top: false,
left: false,
child: FloatingActionButton.extended(
onPressed: () {
_controller
..isLocating = true
..lastAid = _controller.fromViewAid
..page = 0
..loadingState.value = LoadingState.loading()
..queryData();
},
label: const Text('定位至上次观看'),
),
),
_controller.fromViewAid?.isNotEmpty == true)
Obx(
() => _controller.isLocating.value != true
? Positioned(
right: 15,
bottom: 15,
child: SafeArea(
top: false,
left: false,
child: FloatingActionButton.extended(
onPressed: () {
_controller
..isLocating.value = true
..lastAid = _controller.fromViewAid
..page = 0
..loadingState.value = LoadingState.loading()
..queryData();
},
label: const Text('定位至上次观看'),
),
),
)
: const SizedBox.shrink(),
),
],
);