/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { Box, Text, useInput } from 'ink'; import { RadioButtonSelect, RadioSelectItem, } from './components/shared/RadioButtonSelect.js'; export type IdeIntegrationNudgeResult = 'yes' | 'no' | 'dismiss'; interface IdeIntegrationNudgeProps { ideName?: string; onComplete: (result: IdeIntegrationNudgeResult) => void; } export function IdeIntegrationNudge({ ideName, onComplete, }: IdeIntegrationNudgeProps) { useInput((_input, key) => { if (key.escape) { onComplete('no'); } }); const OPTIONS: Array> = [ { label: 'Yes', value: 'yes', }, { label: 'No (esc)', value: 'no', }, { label: "No, don't ask again", value: 'dismiss', }, ]; return ( {'> '} {`Do you want to connect your ${ideName ?? 'your'} editor to Gemini CLI?`} {`If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in ${ideName ?? 'your editor'}.`} ); }