Skip to content

Commit e4c3584

Browse files
committed
refactor(ui): 优化 PromptInput 组件中 showFooterText 的计算逻辑
- 将 showFooterText 的 useMemo 提取到统一位置 - 添加 showThemeDropdown 到依赖列表和条件判断 - 移除重复声明的 showFooterText 常量 - 保持相关依赖和逻辑清晰易维护
1 parent 0e986d7 commit e4c3584

1 file changed

Lines changed: 9 additions & 13 deletions

File tree

src/ui/views/PromptInput.tsx

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,16 @@ export const PromptInput = React.memo(function PromptInput({
214214
? `${loadingText}${processOrPasteHint}`
215215
: `esc to interrupt · ctrl+c to cancel input${processOrPasteHint}`
216216
: `enter send · shift+enter newline · @ files · ctrl+v image · / commands · ctrl+d exit${processOrPasteHint}`;
217+
217218
const showFooterText = useMemo(
218-
() => showMenu || showSkillsDropdown || openRawModelDropdown || showModelDropdown || showFileMentionMenu,
219-
[showMenu, showSkillsDropdown, showModelDropdown, openRawModelDropdown, showFileMentionMenu]
219+
() =>
220+
showMenu ||
221+
showSkillsDropdown ||
222+
openRawModelDropdown ||
223+
showModelDropdown ||
224+
showThemeDropdown ||
225+
showFileMentionMenu,
226+
[showMenu, showSkillsDropdown, showModelDropdown, openRawModelDropdown, showThemeDropdown, showFileMentionMenu]
220227
);
221228
const cursorPlacement = useMemo(
222229
() => getPromptCursorPlacement(buffer, screenWidth, 2, footerText),
@@ -746,17 +753,6 @@ export const PromptInput = React.memo(function PromptInput({
746753
clearUndoRedoStacks();
747754
}
748755

749-
const showFooterText = useMemo(
750-
() =>
751-
showMenu ||
752-
showSkillsDropdown ||
753-
openRawModelDropdown ||
754-
showModelDropdown ||
755-
showThemeDropdown ||
756-
showFileMentionMenu,
757-
[showMenu, showSkillsDropdown, showModelDropdown, openRawModelDropdown, showThemeDropdown, showFileMentionMenu]
758-
);
759-
760756
const isFocused = useMemo(() => !disabled && hasTerminalFocus, [disabled, hasTerminalFocus]);
761757

762758
const matchedCommand = slashToken ? findExactSlashCommand(slashItems, slashToken) : null;

0 commit comments

Comments
 (0)