From 6d5f8941d405ad8f152709709660f5ac8af051d6 Mon Sep 17 00:00:00 2001 From: zerosoul Date: Thu, 12 May 2022 21:22:28 +0800 Subject: [PATCH] feat: message context menu --- src/assets/icons/copy.svg | 3 + src/assets/icons/select.svg | 3 + src/common/component/ContextMenu.js | 2 + src/common/component/DeleteMessageConfirm.js | 4 +- src/common/component/Message/Commands.js | 249 +++++++----------- src/common/component/Message/ContextMenu.js | 117 ++++++++ src/common/component/Message/index.js | 144 +++++----- .../component/Message/useMessageOperation.js | 101 +++++++ src/common/component/styled/Menu.js | 21 +- 9 files changed, 429 insertions(+), 215 deletions(-) create mode 100644 src/assets/icons/copy.svg create mode 100644 src/assets/icons/select.svg create mode 100644 src/common/component/Message/ContextMenu.js create mode 100644 src/common/component/Message/useMessageOperation.js diff --git a/src/assets/icons/copy.svg b/src/assets/icons/copy.svg new file mode 100644 index 00000000..7a4390cf --- /dev/null +++ b/src/assets/icons/copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/select.svg b/src/assets/icons/select.svg new file mode 100644 index 00000000..eb52f894 --- /dev/null +++ b/src/assets/icons/select.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/common/component/ContextMenu.js b/src/common/component/ContextMenu.js index 0d45d8b3..8b47eade 100644 --- a/src/common/component/ContextMenu.js +++ b/src/common/component/ContextMenu.js @@ -8,6 +8,7 @@ export default function ContextMenu({ items = [], hideMenu }) { if (!item) return null; const { title, + icon = null, handler = (evt) => { evt.preventDefault(); hideMenu(); @@ -26,6 +27,7 @@ export default function ContextMenu({ items = [], hideMenu }) { hideMenu(); }} > + {icon} {title} ); diff --git a/src/common/component/DeleteMessageConfirm.js b/src/common/component/DeleteMessageConfirm.js index b3ef515d..0cf04e10 100644 --- a/src/common/component/DeleteMessageConfirm.js +++ b/src/common/component/DeleteMessageConfirm.js @@ -22,7 +22,9 @@ export default function DeleteMessageConfirmModal({ closeModal, mids = [] }) { // className="animate__animated animate__fadeInDown animate__faster" buttons={ <> - +