Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-06-13 10:17:35 +08:00
parent b02e4253f1
commit 3fae4ef632
8 changed files with 177 additions and 195 deletions

View File

@@ -4,6 +4,7 @@ import 'package:PiliPlus/plugin/pl_player/controller.dart';
import 'package:PiliPlus/plugin/pl_player/utils/danmaku_options.dart';
import 'package:PiliPlus/utils/extension/num_ext.dart';
import 'package:PiliPlus/utils/page_utils.dart';
import 'package:PiliPlus/utils/theme_utils.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
@@ -12,6 +13,13 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
bool get isFullScreen => plPlayerController.isFullScreen.value;
ThemeData? get theme {
if (plPlayerController.darkVideoPage) {
return ThemeUtils.darkTheme;
}
return null;
}
Future<void>? showBottomSheet(
StatefulWidgetBuilder builder, {
ValueGetter<EdgeInsets>? padding,
@@ -21,12 +29,16 @@ mixin HeaderMixin<T extends StatefulWidget> on State<T> {
maxWidth: 512,
padding: padding,
child: StatefulBuilder(
builder: (context, setState) => plPlayerController.darkVideoPage
? Theme(
data: Theme.of(this.context),
child: builder(this.context, setState),
)
: builder(context, setState),
builder: (context, setState) {
final theme = this.theme;
if (theme != null) {
return Theme(
data: theme,
child: builder(this.context, setState),
);
}
return builder(context, setState);
},
),
);
}