@@ -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' ;
2123import { useDetachDoc } from '../api/useDetach' ;
2224import 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