51 lines
1.7 KiB
TypeScript
51 lines
1.7 KiB
TypeScript
import { c as _c } from "react/compiler-runtime";
|
|
import chalk from 'chalk';
|
|
import React, { useContext } from 'react';
|
|
import { Text } from '../ink.js';
|
|
import { getShortcutDisplay } from '../keybindings/shortcutFormat.js';
|
|
import { useShortcutDisplay } from '../keybindings/useShortcutDisplay.js';
|
|
import { KeyboardShortcutHint } from './design-system/KeyboardShortcutHint.js';
|
|
import { InVirtualListContext } from './messageActions.js';
|
|
|
|
// Context to track if we're inside a sub agent
|
|
// Similar to MessageResponseContext, this helps us avoid showing
|
|
// too many "(ctrl+o to expand)" hints in sub agent output
|
|
const SubAgentContext = React.createContext(false);
|
|
export function SubAgentProvider(t0) {
|
|
const $ = _c(2);
|
|
const {
|
|
children
|
|
} = t0;
|
|
let t1;
|
|
if ($[0] !== children) {
|
|
t1 = <SubAgentContext.Provider value={true}>{children}</SubAgentContext.Provider>;
|
|
$[0] = children;
|
|
$[1] = t1;
|
|
} else {
|
|
t1 = $[1];
|
|
}
|
|
return t1;
|
|
}
|
|
export function CtrlOToExpand() {
|
|
const $ = _c(2);
|
|
const isInSubAgent = useContext(SubAgentContext);
|
|
const inVirtualList = useContext(InVirtualListContext);
|
|
const expandShortcut = useShortcutDisplay("app:toggleTranscript", "Global", "ctrl+o");
|
|
if (isInSubAgent || inVirtualList) {
|
|
return null;
|
|
}
|
|
let t0;
|
|
if ($[0] !== expandShortcut) {
|
|
t0 = <Text dimColor={true}><KeyboardShortcutHint shortcut={expandShortcut} action="expand" parens={true} /></Text>;
|
|
$[0] = expandShortcut;
|
|
$[1] = t0;
|
|
} else {
|
|
t0 = $[1];
|
|
}
|
|
return t0;
|
|
}
|
|
export function ctrlOToExpand(): string {
|
|
const shortcut = getShortcutDisplay('app:toggleTranscript', 'Global', 'ctrl+o');
|
|
return chalk.dim(`(${shortcut} to expand)`);
|
|
}
|