diff --git a/lib/pages/video/detail/reply_new/reply_page.dart b/lib/pages/video/detail/reply_new/reply_page.dart index 6c57a063..01d0ceab 100644 --- a/lib/pages/video/detail/reply_new/reply_page.dart +++ b/lib/pages/video/detail/reply_new/reply_page.dart @@ -70,11 +70,17 @@ class _ReplyPageState extends CommonPublishPageState { ), ); + @override + void didChangeDependencies() { + super.didChangeDependencies(); + themeData = darkVideoPage + ? MyApp.darkThemeData ?? Theme.of(context) + : Theme.of(context); + } + late final darkVideoPage = Get.currentRoute.startsWith('/video') && GStorage.darkVideoPage; - late final ThemeData themeData = darkVideoPage - ? MyApp.darkThemeData ?? Theme.of(context) - : Theme.of(context); + late ThemeData themeData; @override Widget build(BuildContext context) { diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index cbc113b0..f8be0b10 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -503,6 +503,9 @@ class _VideoDetailPageState extends State super.didChangeDependencies(); VideoDetailPage.routeObserver .subscribe(this, ModalRoute.of(context)! as PageRoute); + themeData = videoDetailController.plPlayerController.darkVideoPage + ? MyApp.darkThemeData ?? Theme.of(context) + : Theme.of(context); } // void _handleTransition(String name) { @@ -1131,10 +1134,7 @@ class _VideoDetailPageState extends State return childWhenDisabled; } - late final ThemeData themeData = - videoDetailController.plPlayerController.darkVideoPage - ? MyApp.darkThemeData ?? Theme.of(context) - : Theme.of(context); + late ThemeData themeData; Widget get child { if (!horizontalScreen) { @@ -1345,7 +1345,9 @@ class _VideoDetailPageState extends State } Widget videoPlayer(double videoWidth, double videoHeight) => PopScope( - canPop: !isFullScreen, + canPop: !isFullScreen && + (horizontalScreen || + MediaQuery.of(context).orientation == Orientation.portrait), onPopInvokedWithResult: _onPopInvokedWithResult, child: Stack( children: [ diff --git a/lib/pages/video/detail/view_v.dart b/lib/pages/video/detail/view_v.dart index 6d3f026c..c8a1e386 100644 --- a/lib/pages/video/detail/view_v.dart +++ b/lib/pages/video/detail/view_v.dart @@ -542,6 +542,9 @@ class _VideoDetailPageVState extends State super.didChangeDependencies(); VideoDetailPageV.routeObserver .subscribe(this, ModalRoute.of(context)! as PageRoute); + themeData = videoDetailController.plPlayerController.darkVideoPage + ? MyApp.darkThemeData ?? Theme.of(context) + : Theme.of(context); } // void _handleTransition(String name) { @@ -1510,10 +1513,7 @@ class _VideoDetailPageVState extends State return childWhenDisabled; } - late final ThemeData themeData = - videoDetailController.plPlayerController.darkVideoPage - ? MyApp.darkThemeData ?? Theme.of(context) - : Theme.of(context); + late ThemeData themeData; Widget get child { if (!horizontalScreen) { @@ -1730,7 +1730,9 @@ class _VideoDetailPageVState extends State Widget videoPlayer(double videoWidth, double videoHeight) { return PopScope( - canPop: !isFullScreen, + canPop: !isFullScreen && + (horizontalScreen || + MediaQuery.of(context).orientation == Orientation.portrait), onPopInvokedWithResult: _onPopInvokedWithResult, child: Stack( children: [ diff --git a/lib/pages/video/detail/widgets/send_danmaku_panel.dart b/lib/pages/video/detail/widgets/send_danmaku_panel.dart index 9f5b673c..647172ae 100644 --- a/lib/pages/video/detail/widgets/send_danmaku_panel.dart +++ b/lib/pages/video/detail/widgets/send_danmaku_panel.dart @@ -138,9 +138,15 @@ class _SendDanmakuPanelState extends CommonPublishPageState { ), ); - late final ThemeData themeData = widget.darkVideoPage - ? MyApp.darkThemeData ?? Theme.of(context) - : Theme.of(context); + @override + void didChangeDependencies() { + super.didChangeDependencies(); + themeData = widget.darkVideoPage + ? MyApp.darkThemeData ?? Theme.of(context) + : Theme.of(context); + } + + late ThemeData themeData; @override Widget build(BuildContext context) {