@@ -60,7 +60,7 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
6060 const selectHistoryModal = useModal ( ) ;
6161 const modalShare = useModal ( ) ;
6262
63- const { isSmallMobile, isDesktop } = useResponsiveStore ( ) ;
63+ const { isSmallMobile, isMobile } = useResponsiveStore ( ) ;
6464 const copyDocLink = useCopyDocLink ( doc . id ) ;
6565 const { mutate : duplicateDoc } = useDuplicateDoc ( {
6666 onSuccess : ( data ) => {
@@ -90,28 +90,20 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
9090 const { updateDocEmoji } = useDocTitleUpdate ( ) ;
9191
9292 const options : DropdownMenuOption [ ] = [
93- ...( isSmallMobile
94- ? [
95- {
96- label : t ( 'Share' ) ,
97- icon : 'group' ,
98- callback : modalShare . open ,
99- } ,
100- {
101- label : t ( 'Export' ) ,
102- icon : 'download' ,
103- callback : ( ) => {
104- setIsModalExportOpen ( true ) ;
105- } ,
106- show : ! ! ModalExport ,
107- } ,
108- {
109- label : t ( 'Copy link' ) ,
110- icon : 'add_link' ,
111- callback : copyDocLink ,
112- } ,
113- ]
114- : [ ] ) ,
93+ {
94+ label : t ( 'Share' ) ,
95+ icon : 'group' ,
96+ callback : modalShare . open ,
97+ show : isSmallMobile ,
98+ } ,
99+ {
100+ label : t ( 'Export' ) ,
101+ icon : 'download' ,
102+ callback : ( ) => {
103+ setIsModalExportOpen ( true ) ;
104+ } ,
105+ show : ! ! ModalExport && isSmallMobile ,
106+ } ,
115107 {
116108 label : doc . is_favorite ? t ( 'Unpin' ) : t ( 'Pin' ) ,
117109 icon : 'push_pin' ,
@@ -124,25 +116,38 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
124116 } ,
125117 testId : `docs-actions-${ doc . is_favorite ? 'unpin' : 'pin' } -${ doc . id } ` ,
126118 } ,
127- ...( emoji && doc . abilities . partial_update && ! isTopRoot
128- ? [
129- {
130- label : t ( 'Remove emoji' ) ,
131- icon : 'emoji_emotions' ,
132- callback : ( ) => {
133- updateDocEmoji ( doc . id , doc . title ?? '' , '' ) ;
134- } ,
135- } ,
136- ]
137- : [ ] ) ,
138119 {
139120 label : t ( 'Version history' ) ,
140121 icon : 'history' ,
141122 disabled : ! doc . abilities . versions_list ,
142123 callback : ( ) => {
143124 selectHistoryModal . open ( ) ;
144125 } ,
145- show : isDesktop ,
126+ show : ! isMobile ,
127+ showSeparator : isTopRoot ? true : false ,
128+ } ,
129+ {
130+ label : t ( 'Remove emoji' ) ,
131+ icon : 'emoji_emotions' ,
132+ callback : ( ) => {
133+ updateDocEmoji ( doc . id , doc . title ?? '' , '' ) ;
134+ } ,
135+ showSeparator : true ,
136+ show : ! ! emoji && doc . abilities . partial_update && ! isTopRoot ,
137+ } ,
138+ {
139+ label : t ( 'Add emoji' ) ,
140+ icon : 'emoji_emotions' ,
141+ callback : ( ) => {
142+ updateDocEmoji ( doc . id , doc . title ?? '' , '📄' ) ;
143+ } ,
144+ showSeparator : true ,
145+ show : ! emoji && doc . abilities . partial_update && ! isTopRoot ,
146+ } ,
147+ {
148+ label : t ( 'Copy link' ) ,
149+ icon : 'add_link' ,
150+ callback : copyDocLink ,
146151 } ,
147152 {
148153 label : t ( 'Copy as {{format}}' , { format : 'Markdown' } ) ,
@@ -158,6 +163,7 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
158163 void copyCurrentEditorToClipboard ( 'html' ) ;
159164 } ,
160165 show : isFeatureFlagActivated ( 'CopyAsHTML' ) ,
166+ showSeparator : true ,
161167 } ,
162168 {
163169 label : t ( 'Duplicate' ) ,
@@ -170,6 +176,7 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
170176 canSave : doc . abilities . partial_update ,
171177 } ) ;
172178 } ,
179+ showSeparator : true ,
173180 } ,
174181 {
175182 label : isChild ? t ( 'Delete sub-document' ) : t ( 'Delete document' ) ,
@@ -224,25 +231,22 @@ export const DocToolBox = ({ doc }: DocToolBoxProps) => {
224231 aria-label = { t ( 'Export the document' ) }
225232 />
226233 ) }
227- < DropdownMenu options = { options } label = { t ( 'Open the document options' ) } >
228- < IconOptions
229- aria-hidden = "true"
230- isHorizontal
231- $theme = "primary"
232- $padding = { { all : 'xs' } }
233- $css = { css `
234- border-radius : 4px ;
235- & : hover {
236- background-color : ${ colorsTokens [ 'greyscale-100' ] } ;
237- }
238- ${ isSmallMobile
239- ? css `
240- padding : 10px ;
241- border : 1px solid ${ colorsTokens [ 'greyscale-300' ] } ;
242- `
243- : '' }
244- ` }
245- />
234+ < DropdownMenu
235+ options = { options }
236+ label = { t ( 'Open the document options' ) }
237+ buttonCss = { css `
238+ padding : ${ spacingsTokens [ 'xs' ] } ;
239+ & : hover {
240+ background-color : ${ colorsTokens [ 'greyscale-100' ] } ;
241+ }
242+ ${ isSmallMobile
243+ ? css `
244+ border : 1px solid ${ colorsTokens [ 'greyscale-300' ] } ;
245+ `
246+ : '' }
247+ ` }
248+ >
249+ < IconOptions aria-hidden = "true" isHorizontal $theme = "primary" />
246250 </ DropdownMenu >
247251 </ Box >
248252
0 commit comments