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/home_stack.dart';
|
||||||
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
|
import 'package:app_flowy/workspace/presentation/home/menu/menu.dart';
|
||||||
import 'package:easy_localization/easy_localization.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/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/style_widget/text.dart';
|
||||||
import 'package:flowy_infra_ui/widget/spacing.dart';
|
import 'package:flowy_infra_ui/widget/spacing.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -14,7 +18,15 @@ class MenuTrash extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return SizedBox(
|
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,
|
height: 26,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@ -24,6 +36,9 @@ class MenuTrash extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
child: _render(context),
|
child: _render(context),
|
||||||
),
|
),
|
||||||
|
).padding(horizontal: Insets.l),
|
||||||
|
).padding(horizontal: 8);
|
||||||
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ class HomeMenu extends StatelessWidget {
|
|||||||
).padding(horizontal: Insets.l),
|
).padding(horizontal: Insets.l),
|
||||||
),
|
),
|
||||||
const VSpace(20),
|
const VSpace(20),
|
||||||
const MenuTrash().padding(horizontal: Insets.l),
|
const MenuTrash(),
|
||||||
const VSpace(20),
|
const VSpace(20),
|
||||||
_renderNewAppButton(context),
|
_renderNewAppButton(context),
|
||||||
],
|
],
|
||||||
@ -178,6 +178,7 @@ class MenuSharedState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ViewPB? get latestOpenView => _latestOpenView.value;
|
ViewPB? get latestOpenView => _latestOpenView.value;
|
||||||
|
ValueNotifier<ViewPB?> get notifier => _latestOpenView;
|
||||||
|
|
||||||
set latestOpenView(ViewPB? view) {
|
set latestOpenView(ViewPB? view) {
|
||||||
if (_latestOpenView.value != view) {
|
if (_latestOpenView.value != view) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user