From 39778247f600101bd4371a2bf26131fdd4db388e Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Mon, 26 May 2025 22:12:40 +0800 Subject: [PATCH] opt dyn repost Signed-off-by: bggRGjQaUbCoE --- lib/pages/dynamics_create/view.dart | 32 +++++++--------- lib/pages/dynamics_repost/view.dart | 45 +++++++++++------------ lib/pages/dynamics_select_topic/view.dart | 23 +++++------- 3 files changed, 44 insertions(+), 56 deletions(-) diff --git a/lib/pages/dynamics_create/view.dart b/lib/pages/dynamics_create/view.dart index 91132474..19b7d2e6 100644 --- a/lib/pages/dynamics_create/view.dart +++ b/lib/pages/dynamics_create/view.dart @@ -504,24 +504,20 @@ class _CreateDynPanelState extends CommonPublishPageState { iconAlignment: IconAlignment.end, ); - Widget get _buildToolbar => GestureDetector( - onTap: hidePanel, - behavior: HitTestBehavior.opaque, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Obx( - () => ToolbarIconButton( - onPressed: () { - updatePanelType( - panelType.value == PanelType.emoji - ? PanelType.keyboard - : PanelType.emoji, - ); - }, - icon: const Icon(Icons.emoji_emotions, size: 22), - tooltip: '表情', - selected: panelType.value == PanelType.emoji, - ), + Widget get _buildToolbar => Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Obx( + () => ToolbarIconButton( + onPressed: () { + updatePanelType( + panelType.value == PanelType.emoji + ? PanelType.keyboard + : PanelType.emoji, + ); + }, + icon: const Icon(Icons.emoji_emotions, size: 22), + tooltip: '表情', + selected: panelType.value == PanelType.emoji, ), ), ); diff --git a/lib/pages/dynamics_repost/view.dart b/lib/pages/dynamics_repost/view.dart index 147bffe7..8e88f435 100644 --- a/lib/pages/dynamics_repost/view.dart +++ b/lib/pages/dynamics_repost/view.dart @@ -119,7 +119,6 @@ class _RepostPanelState extends CommonPublishPageState { : AnimatedSize( alignment: Alignment.topCenter, curve: Curves.ease, - onEnd: () => _isExpanded = true, duration: const Duration(milliseconds: 300), child: child(), ); @@ -192,12 +191,14 @@ class _RepostPanelState extends CommonPublishPageState { Widget _buildEditPlaceHolder(ThemeData theme) => GestureDetector( behavior: HitTestBehavior.opaque, - onTap: () async { + onTap: () { setState(() => _isMax = true); - await Future.delayed(const Duration(milliseconds: 300)); - if (mounted) { - focusNode.requestFocus(); - } + Future.delayed(const Duration(milliseconds: 300), () { + _isExpanded = true; + if (mounted) { + focusNode.requestFocus(); + } + }); }, child: SizedBox( width: double.infinity, @@ -319,24 +320,20 @@ class _RepostPanelState extends CommonPublishPageState { ), ); - Widget get _buildToolbar => GestureDetector( - onTap: hidePanel, - behavior: HitTestBehavior.opaque, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Obx( - () => ToolbarIconButton( - onPressed: () { - updatePanelType( - panelType.value == PanelType.emoji - ? PanelType.keyboard - : PanelType.emoji, - ); - }, - icon: const Icon(Icons.emoji_emotions, size: 22), - tooltip: '表情', - selected: panelType.value == PanelType.emoji, - ), + Widget get _buildToolbar => Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Obx( + () => ToolbarIconButton( + onPressed: () { + updatePanelType( + panelType.value == PanelType.emoji + ? PanelType.keyboard + : PanelType.emoji, + ); + }, + icon: const Icon(Icons.emoji_emotions, size: 22), + tooltip: '表情', + selected: panelType.value == PanelType.emoji, ), ), ); diff --git a/lib/pages/dynamics_select_topic/view.dart b/lib/pages/dynamics_select_topic/view.dart index f90709ed..46fcba66 100644 --- a/lib/pages/dynamics_select_topic/view.dart +++ b/lib/pages/dynamics_select_topic/view.dart @@ -58,20 +58,15 @@ class _SelectTopicPanelState extends State { final theme = Theme.of(context); return Column( children: [ - GestureDetector( - onTap: Get.back, - behavior: HitTestBehavior.opaque, - child: Container( - height: 35, - padding: const EdgeInsets.only(bottom: 2), - child: Center( - child: Container( - width: 32, - height: 3, - decoration: BoxDecoration( - color: theme.colorScheme.outline, - borderRadius: const BorderRadius.all(Radius.circular(3)), - ), + SizedBox( + height: 35, + child: Center( + child: Container( + width: 32, + height: 3, + decoration: BoxDecoration( + color: theme.colorScheme.outline, + borderRadius: const BorderRadius.all(Radius.circular(3)), ), ), ),