• Adeniji Adekunle James's avatar
    feat: add hotkey to toggle chat modes (#1274) (#995) (#1284) · 3b68fb4e
    Adeniji Adekunle James 提交于
    Adds Ctrl+Shift+A (Cmd+Shift+A on Mac) keyboard shortcut to toggle
    between Ask and Build chat modes.
    
    **Changes:**
    - Created `useChatModeToggle` hook for shared logic
    - Added shortcut to ChatInput and HomeChatInput components
    
    **Usage:**
    Press Ctrl+Shift+A (or Cmd+Shift+A on Mac) to quickly switch between
    chat modes without using the UI.
    
    <img width="434" height="123" alt="image"
    src="https://github.com/user-attachments/assets/a8c167b6-2b54-46f5-8191-5019991fc8e5"
    />
    
    Closes (#995)
        
    <!-- This is an auto-generated description by cubic. -->
    ---
    
    ## Summary by cubic
    Add a global hotkey to toggle between Ask and Build modes: Ctrl+Shift+A
    (Cmd+Shift+A on Mac). Makes switching faster without touching the UI and
    fulfills Linear #995.
    
    - **New Features**
    - Added useChatModeToggle hook to flip selectedChatMode, detect
    platform, and track PostHog event chat:mode_toggle.
    - Wired the hotkey into ChatInput and HomeChatInput via
    useChatModeToggle.
      - Updated ChatModeSelector tooltip to show the shortcut.
    
    <!-- End of auto-generated description by cubic. -->
    
    <!-- CURSOR_SUMMARY -->
    ---
    
    > [!NOTE]
    > Adds Cmd/Ctrl + . shortcut to cycle chat modes via a new hook, and
    updates the mode selector tooltip to show the shortcut.
    > 
    > - **UX/Hotkey**:
    > - Introduces `useChatModeToggle` to cycle `settings.selectedChatMode`
    (captures `chat:mode_toggle`), with platform detection
    (`detectIsMac`/`useIsMac`) and `useShortcut` binding for `Cmd/Ctrl + .`.
    > - **Integrations**:
    > - Wires `useChatModeToggle()` into `components/chat/ChatInput.tsx` and
    `components/chat/HomeChatInput.tsx` to enable the shortcut in chat
    inputs.
    > - **UI**:
    > - Enhances `components/ChatModeSelector.tsx` tooltip to display the
    platform-specific shortcut hint (`⌘ + .` or `Ctrl + .`).
    > 
    > <sup>Written by [Cursor
    Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
    d8cc3fff43b6eb3227623f1c084410f42392c0b3. This will update automatically
    on new commits. Configure
    [here](https://cursor.com/dashboard?tab=bugbot).</sup>
    <!-- /CURSOR_SUMMARY -->
    
    ---------
    Co-authored-by: 's avatarWill Chen <willchen90@gmail.com>
    3b68fb4e
名称
最后提交
最后更新
..
AttachmentsList.tsx 正在载入提交数据...
ChatError.tsx 正在载入提交数据...
ChatErrorBox.tsx 正在载入提交数据...
ChatHeader.tsx 正在载入提交数据...
ChatInput.tsx 正在载入提交数据...
ChatMessage.tsx 正在载入提交数据...
CodeHighlight.tsx 正在载入提交数据...
DeleteChatDialog.tsx 正在载入提交数据...
DragDropOverlay.tsx 正在载入提交数据...
DyadAddDependency.tsx 正在载入提交数据...
DyadAddIntegration.tsx 正在载入提交数据...
DyadCodebaseContext.tsx 正在载入提交数据...
DyadDelete.tsx 正在载入提交数据...
DyadEdit.tsx 正在载入提交数据...
DyadExecuteSql.tsx 正在载入提交数据...
DyadMarkdownParser.tsx 正在载入提交数据...
DyadMcpToolCall.tsx 正在载入提交数据...
DyadMcpToolResult.tsx 正在载入提交数据...
DyadOutput.tsx 正在载入提交数据...
DyadProblemSummary.tsx 正在载入提交数据...
DyadRead.tsx 正在载入提交数据...
DyadRename.tsx 正在载入提交数据...
DyadThink.tsx 正在载入提交数据...
DyadTokenSavings.tsx 正在载入提交数据...
DyadWebSearch.tsx 正在载入提交数据...
DyadWebSearchResult.tsx 正在载入提交数据...
DyadWrite.tsx 正在载入提交数据...
FileAttachmentDropdown.tsx 正在载入提交数据...
HomeChatInput.tsx 正在载入提交数据...
LexicalChatInput.tsx 正在载入提交数据...
MessagesList.tsx 正在载入提交数据...
PromoMessage.tsx 正在载入提交数据...
RenameChatDialog.tsx 正在载入提交数据...
SelectedComponentDisplay.tsx 正在载入提交数据...
TokenBar.tsx 正在载入提交数据...
VersionPane.tsx 正在载入提交数据...
monaco.ts 正在载入提交数据...
stateTypes.ts 正在载入提交数据...
types.d.ts 正在载入提交数据...