Skip to content

Commit 588fae7

Browse files
committed
feat: change more diff button to drop-down menu
1 parent 1a71b68 commit 588fae7

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed

webview-ui/src/components/chat/checkpoints/CheckpointMenu.tsx

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)