feat(frontend): add support for the shift + tab shortcut to cycle through conversation modes (#11731)

This commit is contained in:
Hiep Le 2025-11-14 00:10:25 +07:00 committed by GitHub
parent 8c3f93ddc4
commit e3d0380c2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -37,6 +37,37 @@ export function ChangeAgentButton() {
}
}, [isAgentRunning, contextMenuOpen]);
// Handle Shift + Tab keyboard shortcut to cycle through modes
useEffect(() => {
if (!shouldUsePlanningAgent || isAgentRunning) {
return undefined;
}
const handleKeyDown = (event: KeyboardEvent) => {
// Check for Shift + Tab combination
if (event.shiftKey && event.key === "Tab") {
// Prevent default tab navigation behavior
event.preventDefault();
event.stopPropagation();
// Cycle between modes: code -> plan -> code
const nextMode = conversationMode === "code" ? "plan" : "code";
setConversationMode(nextMode);
}
};
document.addEventListener("keydown", handleKeyDown);
return () => {
document.removeEventListener("keydown", handleKeyDown);
};
}, [
shouldUsePlanningAgent,
isAgentRunning,
conversationMode,
setConversationMode,
]);
const handleButtonClick = (event: React.MouseEvent<HTMLButtonElement>) => {
event.preventDefault();
event.stopPropagation();