mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: show delete icon for document icon properly (#2475)
This commit is contained in:
parent
2b7282195b
commit
151ee89855
@ -1,11 +1,10 @@
|
|||||||
import 'package:appflowy/generated/locale_keys.g.dart';
|
import 'package:appflowy/generated/locale_keys.g.dart';
|
||||||
import 'package:appflowy/workspace/presentation/widgets/emoji_picker/emoji_picker.dart';
|
import 'package:appflowy/workspace/presentation/widgets/emoji_picker/emoji_picker.dart';
|
||||||
import 'package:appflowy/workspace/presentation/widgets/emoji_picker/src/default_emoji_picker_view.dart';
|
import 'package:appflowy_editor/appflowy_editor.dart' hide FlowySvg;
|
||||||
import 'package:appflowy/workspace/presentation/widgets/emoji_picker/src/emoji_view_state.dart';
|
|
||||||
import 'package:appflowy_editor/appflowy_editor.dart';
|
|
||||||
import 'package:easy_localization/easy_localization.dart';
|
import 'package:easy_localization/easy_localization.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/button.dart';
|
import 'package:flowy_infra_ui/style_widget/button.dart';
|
||||||
import 'package:flowy_infra_ui/style_widget/text.dart';
|
import 'package:flowy_infra_ui/style_widget/text.dart';
|
||||||
|
import 'package:flowy_infra/image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class EmojiPopover extends StatefulWidget {
|
class EmojiPopover extends StatefulWidget {
|
||||||
@ -33,22 +32,21 @@ class _EmojiPopoverState extends State<EmojiPopover> {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.all(15),
|
padding: const EdgeInsets.all(15),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
if (widget.showRemoveButton)
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(bottom: 4.0),
|
||||||
|
child: Align(
|
||||||
|
alignment: Alignment.centerRight,
|
||||||
|
child: DeleteButton(onPressed: widget.removeIcon),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
child: EmojiPicker(
|
child: EmojiPicker(
|
||||||
onEmojiSelected: (category, emoji) {
|
onEmojiSelected: (category, emoji) {
|
||||||
widget.onEmojiChanged(emoji);
|
widget.onEmojiChanged(emoji);
|
||||||
},
|
},
|
||||||
customWidget: (Config config, EmojiViewState state) {
|
|
||||||
return Stack(
|
|
||||||
alignment: Alignment.topRight,
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
padding: EdgeInsets.only(top: widget.showRemoveButton ? 25 : 0),
|
|
||||||
child: DefaultEmojiPickerView(config, state),
|
|
||||||
),
|
|
||||||
_buildDeleteButtonIfNeed(),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
config: Config(
|
config: Config(
|
||||||
columns: 8,
|
columns: 8,
|
||||||
emojiSizeMax: 28,
|
emojiSizeMax: 28,
|
||||||
@ -61,29 +59,26 @@ class _EmojiPopoverState extends State<EmojiPopover> {
|
|||||||
initCategory: Category.RECENT,
|
initCategory: Category.RECENT,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _buildDeleteButtonIfNeed() {
|
|
||||||
if (!widget.showRemoveButton) {
|
|
||||||
return const SizedBox();
|
|
||||||
}
|
|
||||||
return FlowyButton(
|
|
||||||
onTap: () => widget.removeIcon(),
|
|
||||||
useIntrinsicWidth: true,
|
|
||||||
text: Row(
|
|
||||||
mainAxisSize: MainAxisSize.min,
|
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
children: [
|
|
||||||
const FlowySvg(name: 'editor/delete'),
|
|
||||||
const SizedBox(
|
|
||||||
width: 5,
|
|
||||||
),
|
|
||||||
FlowyText(
|
|
||||||
LocaleKeys.document_plugins_cover_removeIcon.tr(),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class DeleteButton extends StatelessWidget {
|
||||||
|
final VoidCallback onPressed;
|
||||||
|
const DeleteButton({required this.onPressed, Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return FlowyButton(
|
||||||
|
onTap: () => onPressed,
|
||||||
|
useIntrinsicWidth: true,
|
||||||
|
text: FlowyText(
|
||||||
|
LocaleKeys.document_plugins_cover_removeIcon.tr(),
|
||||||
|
),
|
||||||
|
leftIcon: const FlowySvg(name: 'editor/delete'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user