diff --git a/lib/pages/common/dyn/common_dyn_page.dart b/lib/pages/common/dyn/common_dyn_page.dart index fac24ccc5..bd4113c10 100644 --- a/lib/pages/common/dyn/common_dyn_page.dart +++ b/lib/pages/common/dyn/common_dyn_page.dart @@ -163,26 +163,34 @@ abstract class CommonDynPageState extends State EasyThrottle.throttle('replyReply', const Duration(milliseconds: 500), () { int oid = replyItem.oid.toInt(); int rpid = replyItem.id.toInt(); - Widget replyReplyPage({bool showBackBtn = true}) => Scaffold( - resizeToAvoidBottomInset: false, - appBar: AppBar( - toolbarHeight: showBackBtn ? null : 45, - title: const Text('评论详情'), - titleSpacing: showBackBtn ? null : 12, - automaticallyImplyLeading: showBackBtn, - actions: showBackBtn - ? null - : [ - IconButton( - tooltip: '关闭', - icon: const Icon(Icons.close, size: 20), - onPressed: Get.back, - ), - ], - ), - body: Padding( - padding: EdgeInsets.only(right: padding.right), - child: VideoReplyReplyPanel( + Widget replyReplyPage({bool showBackBtn = true}) => Padding( + padding: EdgeInsets.only(right: padding.right), + child: Scaffold( + resizeToAvoidBottomInset: false, + appBar: AppBar( + primary: showBackBtn, + toolbarHeight: showBackBtn ? null : 45, + title: const Text('评论详情'), + titleSpacing: showBackBtn ? null : 12, + automaticallyImplyLeading: showBackBtn, + actions: showBackBtn + ? null + : [ + IconButton( + tooltip: '关闭', + icon: const Icon(Icons.close, size: 20), + onPressed: Get.back, + ), + ], + shape: Border( + bottom: BorderSide( + color: Theme.of( + context, + ).colorScheme.outline.withValues(alpha: 0.1), + ), + ), + ), + body: VideoReplyReplyPanel( enableSlide: false, id: id, oid: oid, @@ -205,11 +213,7 @@ abstract class CommonDynPageState extends State controller.hideFab(); scaffoldState.showBottomSheet( backgroundColor: Colors.transparent, - (context) => MediaQuery.removePadding( - context: context, - removeLeft: true, - child: replyReplyPage(showBackBtn: false), - ), + (context) => replyReplyPage(showBackBtn: false), ); } else { Get.to( diff --git a/lib/pages/member/widget/user_info_card.dart b/lib/pages/member/widget/user_info_card.dart index 306848a9f..125e575ce 100644 --- a/lib/pages/member/widget/user_info_card.dart +++ b/lib/pages/member/widget/user_info_card.dart @@ -332,9 +332,10 @@ class UserInfoCard extends StatelessWidget { ), const SizedBox(height: 5), Row( + spacing: 10, mainAxisSize: MainAxisSize.min, children: [ - if (!isOwner) ...[ + if (!isOwner) IconButton.outlined( onPressed: () { if (Accounts.main.isLogin) { @@ -362,8 +363,6 @@ class UserInfoCard extends StatelessWidget { visualDensity: VisualDensity.compact, ), ), - const SizedBox(width: 10), - ], Expanded( child: FilledButton.tonal( onPressed: onFollow, diff --git a/lib/pages/pgc_review/post/view.dart b/lib/pages/pgc_review/post/view.dart index 768fafa07..7c003b42a 100644 --- a/lib/pages/pgc_review/post/view.dart +++ b/lib/pages/pgc_review/post/view.dart @@ -71,10 +71,8 @@ class _PgcReviewPostPanelState extends State { ), const SizedBox(width: 12), ], - bottom: PreferredSize( - preferredSize: const Size.fromHeight(1), - child: Divider( - height: 1, + shape: Border( + bottom: BorderSide( color: theme.colorScheme.outline.withValues(alpha: 0.1), ), ), diff --git a/lib/pages/search_trending/view.dart b/lib/pages/search_trending/view.dart index 53d3af2bc..262fe6ad7 100644 --- a/lib/pages/search_trending/view.dart +++ b/lib/pages/search_trending/view.dart @@ -95,11 +95,9 @@ class _SearchTrendingPageState extends State { statusBarBrightness: Brightness.dark, statusBarIconBrightness: Brightness.light, ), - bottom: scrollRatio == 1 - ? PreferredSize( - preferredSize: const Size.fromHeight(1), - child: Divider( - height: 1, + shape: scrollRatio == 1 + ? Border( + bottom: BorderSide( color: theme.colorScheme.outline.withValues( alpha: 0.1, ), diff --git a/lib/pages/video/medialist/view.dart b/lib/pages/video/medialist/view.dart index c4c9f734c..7c9de88d3 100644 --- a/lib/pages/video/medialist/view.dart +++ b/lib/pages/video/medialist/view.dart @@ -72,6 +72,7 @@ class _MediaListPanelState child: Column( children: [ AppBar( + primary: false, toolbarHeight: 45, automaticallyImplyLeading: false, titleSpacing: 16, @@ -95,10 +96,11 @@ class _MediaListPanelState ), const SizedBox(width: 14), ], - ), - Divider( - height: 1, - color: theme.colorScheme.outline.withValues(alpha: 0.1), + shape: Border( + bottom: BorderSide( + color: theme.colorScheme.outline.withValues(alpha: 0.1), + ), + ), ), Expanded( child: enableSlide ? slideList(theme) : buildList(theme), diff --git a/lib/pages/video/note/view.dart b/lib/pages/video/note/view.dart index 309585238..597692f69 100644 --- a/lib/pages/video/note/view.dart +++ b/lib/pages/video/note/view.dart @@ -60,6 +60,7 @@ class _NoteListPageState extends CommonSlidePageState { SizedBox( height: 45, child: AppBar( + primary: false, automaticallyImplyLeading: false, titleSpacing: 16, toolbarHeight: 45, @@ -68,10 +69,8 @@ class _NoteListPageState extends CommonSlidePageState { final count = _controller.count.value; return Text('笔记${count == -1 ? '' : '($count)'}'); }), - bottom: PreferredSize( - preferredSize: const Size.fromHeight(1), - child: Divider( - height: 1, + shape: Border( + bottom: BorderSide( color: theme.colorScheme.outline.withValues(alpha: 0.1), ), ), diff --git a/lib/pages/video/post_panel/view.dart b/lib/pages/video/post_panel/view.dart index 5697e1477..588264bbf 100644 --- a/lib/pages/video/post_panel/view.dart +++ b/lib/pages/video/post_panel/view.dart @@ -64,11 +64,14 @@ class _PostPanelState extends CommonCollapseSlidePageState { return Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + primary: false, + toolbarHeight: 45, automaticallyImplyLeading: false, titleSpacing: 16, title: const Text('提交片段'), actions: [ iconButton( + size: 32, context: context, tooltip: '添加片段', onPressed: () { @@ -90,6 +93,7 @@ class _PostPanelState extends CommonCollapseSlidePageState { ), const SizedBox(width: 10), iconButton( + size: 32, context: context, tooltip: '关闭', onPressed: Get.back, diff --git a/lib/pages/video/reply_reply/view.dart b/lib/pages/video/reply_reply/view.dart index a9b065702..d56c9cf92 100644 --- a/lib/pages/video/reply_reply/view.dart +++ b/lib/pages/video/reply_reply/view.dart @@ -101,13 +101,14 @@ class _VideoReplyReplyPanelState @override Widget buildPage(ThemeData theme) { + Widget child() => enableSlide ? slideList(theme) : buildList(theme); return Scaffold( key: _key, resizeToAvoidBottomInset: false, - body: Column( - children: [ - widget.isVideoDetail - ? Container( + body: widget.isVideoDetail + ? Column( + children: [ + Container( height: 45, decoration: BoxDecoration( border: Border( @@ -129,14 +130,11 @@ class _VideoReplyReplyPanelState ), ], ), - ) - : Divider( - height: 1, - color: theme.dividerColor.withValues(alpha: 0.1), ), - Expanded(child: enableSlide ? slideList(theme) : buildList(theme)), - ], - ), + Expanded(child: child()), + ], + ) + : child(), ); } diff --git a/lib/pages/video/view_point/view.dart b/lib/pages/video/view_point/view.dart index ab4f66475..8490b703b 100644 --- a/lib/pages/video/view_point/view.dart +++ b/lib/pages/video/view_point/view.dart @@ -45,6 +45,7 @@ class _ViewPointsPageState return Scaffold( resizeToAvoidBottomInset: false, appBar: AppBar( + primary: false, automaticallyImplyLeading: false, titleSpacing: 16, title: const Text('分段信息'), @@ -82,11 +83,9 @@ class _ViewPointsPageState ), const SizedBox(width: 16), ], - bottom: PreferredSize( - preferredSize: const Size.fromHeight(1), - child: Divider( - height: 1, - color: theme.dividerColor.withValues(alpha: 0.1), + shape: Border( + bottom: BorderSide( + color: theme.colorScheme.outline.withValues(alpha: 0.1), ), ), ),