opt: post panel

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2024-11-26 10:15:15 +08:00
parent 2fc4760269
commit 48aa4d4c79
2 changed files with 239 additions and 230 deletions

View File

@@ -40,12 +40,12 @@ class _DynamicsTabPageState extends State<DynamicsTabPage>
@override @override
void initState() { void initState() {
super.initState(); super.initState();
dynamicsController = Get.find<DynamicsController>();
_dynamicsTabController = Get.put( _dynamicsTabController = Get.put(
DynamicsTabController(dynamicsType: widget.dynamicsType), DynamicsTabController(dynamicsType: widget.dynamicsType)
..mid = dynamicsController.mid.value,
tag: widget.dynamicsType, tag: widget.dynamicsType,
); );
dynamicsController = Get.find<DynamicsController>();
_dynamicsTabController.scrollController.addListener(() { _dynamicsTabController.scrollController.addListener(() {
if (_dynamicsTabController.scrollController.position.pixels >= if (_dynamicsTabController.scrollController.position.pixels >=
_dynamicsTabController.scrollController.position.maxScrollExtent - _dynamicsTabController.scrollController.position.maxScrollExtent -

View File

@@ -1021,7 +1021,7 @@ class VideoDetailController extends GetxController
ctr = plPlayerController.isFullScreen.value ctr = plPlayerController.isFullScreen.value
? scaffoldKey.currentState?.showBottomSheet( ? scaffoldKey.currentState?.showBottomSheet(
enableDrag: false, enableDrag: false,
(context) => _postPanel(ctr?.close), (context) => _postPanel(ctr?.close, false),
) )
: childKey.currentState?.showBottomSheet( : childKey.currentState?.showBottomSheet(
enableDrag: false, enableDrag: false,
@@ -1029,7 +1029,7 @@ class VideoDetailController extends GetxController
); );
} }
Widget _postPanel(onClose) => StatefulBuilder( Widget _postPanel(onClose, [bool isChild = true]) => StatefulBuilder(
builder: (context, setState) { builder: (context, setState) {
List<Widget> segmentWidget({ List<Widget> segmentWidget({
required int index, required int index,
@@ -1114,7 +1114,8 @@ class VideoDetailController extends GetxController
for (int i = 0; i < split.length; i++) { for (int i = 0; i < split.length; i++) {
duration += split[i] * pow(60, i).toInt(); duration += split[i] * pow(60, i).toInt();
} }
if (duration <= (data.timeLength ?? 0) / 1000) { if (duration <=
plPlayerController.durationSeconds.value) {
setState(() { setState(() {
if (isFirst) { if (isFirst) {
list![index].segment.first = duration; list![index].segment.first = duration;
@@ -1133,8 +1134,10 @@ class VideoDetailController extends GetxController
]; ];
} }
return Scaffold( return SizedBox(
resizeToAvoidBottomInset: true, height: isChild ? null : Utils.getSheetHeight(context),
child: Scaffold(
resizeToAvoidBottomInset: false,
appBar: AppBar( appBar: AppBar(
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
titleSpacing: 16, titleSpacing: 16,
@@ -1226,12 +1229,14 @@ class VideoDetailController extends GetxController
list![index].category = item; list![index].category = item;
}); });
}, },
itemBuilder: (context) => SegmentType itemBuilder: (context) =>
.values SegmentType.values
.map((item) => .map((item) =>
PopupMenuItem<SegmentType>( PopupMenuItem<
SegmentType>(
value: item, value: item,
child: Text(item.title), child:
Text(item.title),
)) ))
.toList(), .toList(),
child: Row( child: Row(
@@ -1261,7 +1266,8 @@ class VideoDetailController extends GetxController
const SizedBox(width: 16), const SizedBox(width: 16),
const Text('ActionType: '), const Text('ActionType: '),
PopupMenuButton( PopupMenuButton(
initialValue: list![index].actionType, initialValue:
list![index].actionType,
onSelected: (item) async { onSelected: (item) async {
setState(() { setState(() {
list![index].actionType = item; list![index].actionType = item;
@@ -1306,7 +1312,8 @@ class VideoDetailController extends GetxController
), ),
), ),
SizedBox( SizedBox(
height: 88 + MediaQuery.paddingOf(context).bottom, height:
88 + MediaQuery.paddingOf(context).bottom,
), ),
], ],
), ),
@@ -1325,7 +1332,8 @@ class VideoDetailController extends GetxController
'cid': cid.value, 'cid': cid.value,
'userID': GStorage.blockUserID, 'userID': GStorage.blockUserID,
'userAgent': Constants.userAgent, 'userAgent': Constants.userAgent,
'videoDuration': (data.timeLength ?? 0 / 1000), 'videoDuration':
plPlayerController.durationSeconds.value,
}, },
data: { data: {
'segments': list! 'segments': list!
@@ -1368,6 +1376,7 @@ class VideoDetailController extends GetxController
], ],
) )
: errorWidget(), : errorWidget(),
),
); );
}, },
); );