* opt: cache

* opt: MediaListPanel

* feat: nested replyreply panel

* tweaks

* opt: abstract class

* opt: PageStorageKey

* opt: contextExt

* opt: EpisodePanel

* opt

* opt: context instead GlobalKey

* feat: jump to reply

* refa: reply_reply

* fix: jump

* fix: index

* update

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt: keepalive

* reapply: nested replyreply

* mod: spacing

* opt: CommonSlidePageState

* fix drag bottomsheet

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt reply jump

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt reply2reply

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* reapply: jumpToReply

* fix: padding

* fix: anim

* fix some panels

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

* opt: implements Scaffold

* opt: remove keepalive

* revert: GlobalKey

* tweaks

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>

---------

Co-authored-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
My-Responsitories
2025-09-15 18:45:28 +08:00
committed by GitHub
parent b9a55ccbce
commit 37fb63c3b1
75 changed files with 6300 additions and 1140 deletions

View File

@@ -15,6 +15,7 @@ import 'package:PiliPlus/pages/video/introduction/pgc/controller.dart';
import 'package:PiliPlus/pages/video/introduction/pgc/widgets/pgc_panel.dart';
import 'package:PiliPlus/pages/video/introduction/ugc/widgets/action_item.dart';
import 'package:PiliPlus/pages/video/introduction/ugc/widgets/triple_state.dart';
import 'package:PiliPlus/utils/extension.dart';
import 'package:PiliPlus/utils/num_utils.dart';
import 'package:PiliPlus/utils/page_utils.dart';
import 'package:flutter/material.dart';
@@ -43,25 +44,23 @@ class PgcIntroPage extends StatefulWidget {
State<PgcIntroPage> createState() => _PgcIntroPageState();
}
class _PgcIntroPageState extends TripleState<PgcIntroPage>
with AutomaticKeepAliveClientMixin {
class _PgcIntroPageState extends TripleState<PgcIntroPage> {
@override
late PgcIntroController introController;
late VideoDetailController videoDetailCtr;
@override
bool get wantKeepAlive => true;
late final PgcIntroController introController;
late final VideoDetailController videoDetailCtr;
@override
void initState() {
super.initState();
introController = Get.put(PgcIntroController(), tag: widget.heroTag);
introController = Get.putOrFind(
PgcIntroController.new,
tag: widget.heroTag,
);
videoDetailCtr = Get.find<VideoDetailController>(tag: widget.heroTag);
}
@override
Widget build(BuildContext context) {
super.build(context);
final ThemeData theme = Theme.of(context);
final item = introController.pgcItem;
final isLandscape = widget.isLandscape;