Skip to content

Commit 64b71de

Browse files
committed
✨(frontend) add a remove emoji button in the tree item menu
As proposed here #1358 (comment)
1 parent f9dfe26 commit 64b71de

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/frontend/apps/impress/src/features/docs/doc-tree/components/DocTreeItemActions.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ import {
1313
Doc,
1414
ModalRemoveDoc,
1515
Role,
16+
getEmojiAndTitle,
1617
useCopyDocLink,
1718
useCreateChildDoc,
1819
useDuplicateDoc,
1920
} from '@/docs/doc-management';
2021

22+
import { useDocTitleUpdate } from '../../doc-management/hooks/useDocTitleUpdate';
2123
import { useDetachDoc } from '../api/useDetach';
2224
import MoveDocIcon from '../assets/doc-extract-bold.svg';
2325

@@ -44,6 +46,7 @@ export const DocTreeItemActions = ({
4446
const copyLink = useCopyDocLink(doc.id);
4547
const { mutate: detachDoc } = useDetachDoc();
4648
const treeContext = useTreeContext<Doc | null>();
49+
4750
const { mutate: duplicateDoc } = useDuplicateDoc({
4851
onSuccess: (duplicatedDoc) => {
4952
// Reset the tree context root will reset the full tree view.
@@ -52,6 +55,13 @@ export const DocTreeItemActions = ({
5255
},
5356
});
5457

58+
// Emoji Management
59+
const { emoji } = getEmojiAndTitle(doc.title ?? '');
60+
const { updateDocEmoji } = useDocTitleUpdate();
61+
const removeEmoji = () => {
62+
updateDocEmoji(doc.id, doc.title ?? '', '');
63+
};
64+
5565
const handleDetachDoc = () => {
5666
if (!treeContext?.root) {
5767
return;
@@ -82,6 +92,15 @@ export const DocTreeItemActions = ({
8292
},
8393
...(!isRoot
8494
? [
95+
...(emoji
96+
? [
97+
{
98+
label: t('Remove emoji'),
99+
icon: <Icon iconName="emoji_emotions" $size="24px" />,
100+
callback: removeEmoji,
101+
},
102+
]
103+
: []),
85104
{
86105
label: t('Move to my docs'),
87106
isDisabled: doc.user_role !== Role.OWNER,

0 commit comments

Comments
 (0)