Skip to content

Commit 2e3e250

Browse files
NaccOlldaniel-lxs
authored andcommitted
feat: change more diff button to drop-down menu
1 parent 34e3357 commit 2e3e250

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
@@ -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

Comments
 (0)