MCPcopy Index your code
hub / github.com/codeaashu/claude-code / PromptInputFooter

Function PromptInputFooter

src/components/PromptInput/PromptInputFooter.tsx:63–152  ·  view source on GitHub ↗
({
  apiKeyStatus,
  debug,
  exitMessage,
  vimMode,
  mode,
  autoUpdaterResult,
  isAutoUpdating,
  verbose,
  onAutoUpdaterResult,
  onChangeIsUpdating,
  suggestions,
  selectedSuggestion,
  maxColumnWidth,
  toolPermissionContext,
  helpOpen,
  suppressHint: suppressHintFromProps,
  isLoading,
  tasksSelected,
  teamsSelected,
  bridgeSelected,
  tmuxSelected,
  teammateFooterIndex,
  ideSelection,
  mcpClients,
  isPasting = false,
  isInputWrapped = false,
  messages,
  isSearching,
  historyQuery,
  setHistoryQuery,
  historyFailedMatch,
  onOpenTasksDialog
}: Props)

Source from the content-addressed store, hash-verified

61 onOpenTasksDialog?: (taskId?: string) => void;
62};
63function PromptInputFooter({
64 apiKeyStatus,
65 debug,
66 exitMessage,
67 vimMode,
68 mode,
69 autoUpdaterResult,
70 isAutoUpdating,
71 verbose,
72 onAutoUpdaterResult,
73 onChangeIsUpdating,
74 suggestions,
75 selectedSuggestion,
76 maxColumnWidth,
77 toolPermissionContext,
78 helpOpen,
79 suppressHint: suppressHintFromProps,
80 isLoading,
81 tasksSelected,
82 teamsSelected,
83 bridgeSelected,
84 tmuxSelected,
85 teammateFooterIndex,
86 ideSelection,
87 mcpClients,
88 isPasting = false,
89 isInputWrapped = false,
90 messages,
91 isSearching,
92 historyQuery,
93 setHistoryQuery,
94 historyFailedMatch,
95 onOpenTasksDialog
96}: Props): ReactNode {
97 const settings = useSettings();
98 const {
99 columns,
100 rows
101 } = useTerminalSize();
102 const messagesRef = useRef(messages);
103 messagesRef.current = messages;
104 const lastAssistantMessageId = useMemo(() => getLastAssistantMessageId(messages), [messages]);
105 const isNarrow = columns < 80;
106 // In fullscreen the bottom slot is flexShrink:0, so every row here is a row
107 // stolen from the ScrollBox. Drop the optional StatusLine first. Non-fullscreen
108 // has terminal scrollback to absorb overflow, so we never hide StatusLine there.
109 const isFullscreen = isFullscreenEnvEnabled();
110 const isShort = isFullscreen && rows < 24;
111
112 // Pill highlights when tasks is the active footer item AND no specific
113 // agent row is selected. When coordinatorTaskIndex >= 0 the pointer has
114 // moved into CoordinatorTaskPanel, so the pill should un-highlight.
115 // coordinatorTaskCount === 0 covers the bash-only case (no agent rows
116 // exist, pill is the only selectable item).
117 const coordinatorTaskCount = useCoordinatorTaskCount();
118 const coordinatorTaskIndex = useAppState(s => s.coordinatorTaskIndex);
119 const pillSelected = tasksSelected && (coordinatorTaskCount === 0 || coordinatorTaskIndex < 0);
120

Callers

nothing calls this directly

Calls 9

useSettingsFunction · 0.85
useTerminalSizeFunction · 0.85
isFullscreenEnvEnabledFunction · 0.85
useCoordinatorTaskCountFunction · 0.85
useAppStateFunction · 0.85
statusLineShouldDisplayFunction · 0.85
useSetPromptOverlayFunction · 0.85
isUndercoverFunction · 0.85

Tested by

no test coverage detected