fix settings in interactive mode

This commit is contained in:
LaZzyMan 2026-01-21 11:29:48 +08:00
parent 140e8c926d
commit 1e41965a7e
13 changed files with 668 additions and 9 deletions

View file

@ -11,6 +11,7 @@ import { LoopDetectionConfirmation } from './LoopDetectionConfirmation.js';
import { FolderTrustDialog } from './FolderTrustDialog.js';
import { ShellConfirmationDialog } from './ShellConfirmationDialog.js';
import { ConsentPrompt } from './ConsentPrompt.js';
import { SettingInputPrompt } from './SettingInputPrompt.js';
import { ThemeDialog } from './ThemeDialog.js';
import { SettingsDialog } from './SettingsDialog.js';
import { QwenOAuthProgress } from './QwenOAuthProgress.js';
@ -131,6 +132,21 @@ export const DialogManager = ({
/>
);
}
if (uiState.settingInputRequests.length > 0) {
const request = uiState.settingInputRequests[0];
// Use settingName as key to force re-mount when switching between different settings
return (
<SettingInputPrompt
key={request.settingName}
settingName={request.settingName}
settingDescription={request.settingDescription}
sensitive={request.sensitive}
onSubmit={request.onSubmit}
onCancel={request.onCancel}
terminalWidth={terminalWidth}
/>
);
}
if (uiState.isThemeDialogOpen) {
return (
<Box flexDirection="column">