import figures from 'figures'; import React, { useState } from 'react'; import { Box, Text } from '@anthropic/ink'; import { useKeybinding } from '../keybindings/useKeybinding.js'; import TextInput from './TextInput.js'; type Props = { initialLanguage: string | undefined; onComplete: (language: string | undefined) => void; onCancel: () => void; }; export function LanguagePicker({ initialLanguage, onComplete, onCancel }: Props): React.ReactNode { const [language, setLanguage] = useState(initialLanguage); const [cursorOffset, setCursorOffset] = useState((initialLanguage ?? '').length); // Use configurable keybinding for ESC to cancel // Use Settings context so 'n' key doesn't trigger cancel (allows typing 'n' in input) useKeybinding('confirm:no', onCancel, { context: 'Settings' }); function handleSubmit(): void { const trimmed = language?.trim(); onComplete(trimmed || undefined); } return ( Enter your preferred response and voice language: {figures.pointer} Leave empty for default (English) ); }