fix: do not rebuild hover on item selection (#3423)

This commit is contained in:
Mathias Mogensen 2023-09-18 10:39:30 +02:00 committed by GitHub
parent daf9b48c73
commit b700f95c7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -249,21 +249,23 @@ class SingleInnerViewItem extends StatefulWidget {
}
class _SingleInnerViewItemState extends State<SingleInnerViewItem> {
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<MenuSharedState>().latestOpenView?.id == widget.view.id,
child: _buildViewItem(_isHovering),
),
buildWhenOnHover: () => !widget.showActions,
builder: (_, onHover) => _buildViewItem(onHover),
isSelected: () =>
widget.showActions ||
getIt<MenuSharedState>().latestOpenView?.id == widget.view.id,
);
}