mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
feat: add hover effect when trash icon is selected or hovered. (#1513)
This commit is contained in:
parent
442dfe7ef8
commit
9711d670ca
@ -3,7 +3,11 @@ import 'package:app_flowy/startup/startup.dart';
|
||||
import 'package:app_flowy/workspace/presentation/home/home_stack.dart';
|
||||
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flowy_infra/color_extension.dart';
|
||||
import 'package:flowy_infra/image.dart';
|
||||
import 'package:flowy_infra/size.dart';
|
||||
import 'package:flowy_infra_ui/style_widget/extension.dart';
|
||||
import 'package:flowy_infra_ui/style_widget/hover.dart';
|
||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@ -14,16 +18,27 @@ class MenuTrash extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
height: 26,
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
getIt<MenuSharedState>().latestOpenView = null;
|
||||
getIt<HomeStackManager>()
|
||||
.setPlugin(makePlugin(pluginType: PluginType.trash));
|
||||
},
|
||||
child: _render(context),
|
||||
),
|
||||
return ValueListenableBuilder(
|
||||
valueListenable: getIt<MenuSharedState>().notifier,
|
||||
builder: (context, value, child) {
|
||||
return FlowyHover(
|
||||
style: HoverStyle(
|
||||
hoverColor: AFThemeExtension.of(context).greySelect,
|
||||
),
|
||||
isSelected: () => getIt<MenuSharedState>().latestOpenView == null,
|
||||
child: SizedBox(
|
||||
height: 26,
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
getIt<MenuSharedState>().latestOpenView = null;
|
||||
getIt<HomeStackManager>()
|
||||
.setPlugin(makePlugin(pluginType: PluginType.trash));
|
||||
},
|
||||
child: _render(context),
|
||||
),
|
||||
).padding(horizontal: Insets.l),
|
||||
).padding(horizontal: 8);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -104,7 +104,7 @@ class HomeMenu extends StatelessWidget {
|
||||
).padding(horizontal: Insets.l),
|
||||
),
|
||||
const VSpace(20),
|
||||
const MenuTrash().padding(horizontal: Insets.l),
|
||||
const MenuTrash(),
|
||||
const VSpace(20),
|
||||
_renderNewAppButton(context),
|
||||
],
|
||||
@ -178,6 +178,7 @@ class MenuSharedState {
|
||||
}
|
||||
|
||||
ViewPB? get latestOpenView => _latestOpenView.value;
|
||||
ValueNotifier<ViewPB?> get notifier => _latestOpenView;
|
||||
|
||||
set latestOpenView(ViewPB? view) {
|
||||
if (_latestOpenView.value != view) {
|
||||
|
Loading…
Reference in New Issue
Block a user