@@ -19,6 +19,7 @@ export const CheckpointMenu = ({ ts, commitHash, currentHash, checkpoint }: Chec
1919 const { t } = useTranslation ( )
2020 const [ isOpen , setIsOpen ] = useState ( false )
2121 const [ isConfirming , setIsConfirming ] = useState ( false )
22+ const [ isDiffOpen , setIsDiffOpen ] = useState ( false )
2223 const portalContainer = useRooPortal ( "roo-portal" )
2324
2425 const isCurrent = currentHash === commitHash
@@ -63,16 +64,6 @@ export const CheckpointMenu = ({ ts, commitHash, currentHash, checkpoint }: Chec
6364 < span className = "codicon codicon-diff-single" />
6465 </ Button >
6566 </ StandardTooltip >
66- < StandardTooltip content = { t ( "chat:checkpoint.menu.viewDiffFromInit" ) } >
67- < Button variant = "ghost" size = "icon" onClick = { onDiffFromInit } >
68- < span className = "codicon codicon-versions" />
69- </ Button >
70- </ StandardTooltip >
71- < StandardTooltip content = { t ( "chat:checkpoint.menu.viewDiffWithCurrent" ) } >
72- < Button variant = "ghost" size = "icon" onClick = { onDiffWithCurrent } >
73- < span className = "codicon codicon-diff" />
74- </ Button >
75- </ StandardTooltip >
7667 < Popover
7768 open = { isOpen }
7869 onOpenChange = { ( open ) => {
@@ -134,6 +125,37 @@ export const CheckpointMenu = ({ ts, commitHash, currentHash, checkpoint }: Chec
134125 </ div >
135126 </ PopoverContent >
136127 </ Popover >
128+ < Popover open = { isDiffOpen } onOpenChange = { ( open ) => setIsDiffOpen ( open ) } >
129+ < StandardTooltip content = { t ( "chat:task.seeMore" ) } >
130+ < PopoverTrigger asChild >
131+ < Button variant = "ghost" size = "icon" aria-label = { t ( "chat:checkpoint.menu.more" ) } >
132+ < span className = "codicon codicon-chevron-down" />
133+ </ Button >
134+ </ PopoverTrigger >
135+ </ StandardTooltip >
136+ < PopoverContent align = "end" container = { portalContainer } >
137+ < div className = "flex flex-col gap-2" >
138+ < Button
139+ variant = "ghost"
140+ onClick = { ( ) => {
141+ onDiffFromInit ( )
142+ setIsDiffOpen ( false )
143+ } } >
144+ < span className = "codicon codicon-versions mr-2" />
145+ { t ( "chat:checkpoint.menu.viewDiffFromInit" ) }
146+ </ Button >
147+ < Button
148+ variant = "ghost"
149+ onClick = { ( ) => {
150+ onDiffWithCurrent ( )
151+ setIsDiffOpen ( false )
152+ } } >
153+ < span className = "codicon codicon-diff mr-2" />
154+ { t ( "chat:checkpoint.menu.viewDiffWithCurrent" ) }
155+ </ Button >
156+ </ div >
157+ </ PopoverContent >
158+ </ Popover >
137159 </ div >
138160 )
139161}
0 commit comments