From b700f95c7f82cea26ec34a330055f4cbb6482532 Mon Sep 17 00:00:00 2001 From: Mathias Mogensen <42929161+Xazin@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:39:30 +0200 Subject: [PATCH] fix: do not rebuild hover on item selection (#3423) --- .../presentation/home/menu/view/view_item.dart | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/view/view_item.dart b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/view/view_item.dart index ef1d157932..fd3e84c167 100644 --- a/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/view/view_item.dart +++ b/frontend/appflowy_flutter/lib/workspace/presentation/home/menu/view/view_item.dart @@ -249,21 +249,23 @@ class SingleInnerViewItem extends StatefulWidget { } class _SingleInnerViewItemState extends State { + bool _isHovering = false; + @override Widget build(BuildContext context) { if (widget.isFeedback) { return _buildViewItem(false); } - return FlowyHover( - style: HoverStyle( - hoverColor: Theme.of(context).colorScheme.secondary, + return MouseRegion( + onEnter: (_) => setState(() => _isHovering = true), + onExit: (_) => setState(() => _isHovering = false), + child: FlowyHover( + isSelected: () => + widget.showActions || + getIt().latestOpenView?.id == widget.view.id, + child: _buildViewItem(_isHovering), ), - buildWhenOnHover: () => !widget.showActions, - builder: (_, onHover) => _buildViewItem(onHover), - isSelected: () => - widget.showActions || - getIt().latestOpenView?.id == widget.view.id, ); }