@@ -27,6 +27,7 @@ export const CheckpointMenu = ({ ts, commitHash, checkpoint, open, onOpenChange
2727 const { t } = useTranslation ( )
2828 const [ internalOpen , setInternalOpen ] = useState ( false )
2929 const [ isConfirming , setIsConfirming ] = useState ( false )
30+ const [ isDiffOpen , setIsDiffOpen ] = useState ( false )
3031 const portalContainer = useRooPortal ( "roo-portal" )
3132
3233 const previousCommitHash = checkpoint ?. from
@@ -82,16 +83,6 @@ export const CheckpointMenu = ({ ts, commitHash, checkpoint, open, onOpenChange
8283 < span className = "codicon codicon-diff-single" />
8384 </ Button >
8485 </ StandardTooltip >
85- < StandardTooltip content = { t ( "chat:checkpoint.menu.viewDiffFromInit" ) } >
86- < Button variant = "ghost" size = "icon" onClick = { onDiffFromInit } >
87- < span className = "codicon codicon-versions" />
88- </ Button >
89- </ StandardTooltip >
90- < StandardTooltip content = { t ( "chat:checkpoint.menu.viewDiffWithCurrent" ) } >
91- < Button variant = "ghost" size = "icon" onClick = { onDiffWithCurrent } >
92- < span className = "codicon codicon-diff" />
93- </ Button >
94- </ StandardTooltip >
9586 < Popover open = { isOpen } onOpenChange = { handleOpenChange } >
9687 < StandardTooltip content = { t ( "chat:checkpoint.menu.restore" ) } >
9788 < PopoverTrigger asChild >
@@ -151,6 +142,37 @@ export const CheckpointMenu = ({ ts, commitHash, checkpoint, open, onOpenChange
151142 </ div >
152143 </ PopoverContent >
153144 </ Popover >
145+ < Popover open = { isDiffOpen } onOpenChange = { ( open ) => setIsDiffOpen ( open ) } >
146+ < StandardTooltip content = { t ( "chat:task.seeMore" ) } >
147+ < PopoverTrigger asChild >
148+ < Button variant = "ghost" size = "icon" aria-label = { t ( "chat:checkpoint.menu.more" ) } >
149+ < span className = "codicon codicon-chevron-down" />
150+ </ Button >
151+ </ PopoverTrigger >
152+ </ StandardTooltip >
153+ < PopoverContent align = "end" container = { portalContainer } >
154+ < div className = "flex flex-col gap-2" >
155+ < Button
156+ variant = "ghost"
157+ onClick = { ( ) => {
158+ onDiffFromInit ( )
159+ setIsDiffOpen ( false )
160+ } } >
161+ < span className = "codicon codicon-versions mr-2" />
162+ { t ( "chat:checkpoint.menu.viewDiffFromInit" ) }
163+ </ Button >
164+ < Button
165+ variant = "ghost"
166+ onClick = { ( ) => {
167+ onDiffWithCurrent ( )
168+ setIsDiffOpen ( false )
169+ } } >
170+ < span className = "codicon codicon-diff mr-2" />
171+ { t ( "chat:checkpoint.menu.viewDiffWithCurrent" ) }
172+ </ Button >
173+ </ div >
174+ </ PopoverContent >
175+ </ Popover >
154176 </ div >
155177 )
156178}
0 commit comments