diff options
| author | Pascal Birchler <[email protected]> | 2025-07-09 00:10:36 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-08 22:10:36 +0000 |
| commit | c8cf954e6ef8b360b0c7880ca4d29a12eb1ec7c8 (patch) | |
| tree | 55670fde25a7d59cae19d2b21ecacc67f58ae1cc /packages/cli/src/ui/components/AuthDialog.tsx | |
| parent | 0506b40a39c04a5949c7886aaf5f87173453f0a2 (diff) | |
fix(auth): do not blindly default to API key auth (#3235)
Co-authored-by: matt korwel <[email protected]>
Co-authored-by: N. Taylor Mullen <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/components/AuthDialog.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/AuthDialog.tsx | 41 |
1 files changed, 27 insertions, 14 deletions
diff --git a/packages/cli/src/ui/components/AuthDialog.tsx b/packages/cli/src/ui/components/AuthDialog.tsx index a33e284d..d46feb0b 100644 --- a/packages/cli/src/ui/components/AuthDialog.tsx +++ b/packages/cli/src/ui/components/AuthDialog.tsx @@ -24,7 +24,11 @@ export function AuthDialog({ initialErrorMessage, }: AuthDialogProps): React.JSX.Element { const [errorMessage, setErrorMessage] = useState<string | null>( - initialErrorMessage || null, + initialErrorMessage + ? initialErrorMessage + : process.env.GEMINI_API_KEY + ? 'Existing API key detected (GEMINI_API_KEY). Select "Gemini API Key" option to use it.' + : null, ); const items = [ { @@ -46,13 +50,17 @@ export function AuthDialog({ { label: 'Vertex AI', value: AuthType.USE_VERTEX_AI }, ]; - let initialAuthIndex = items.findIndex( - (item) => item.value === settings.merged.selectedAuthType, - ); + const initialAuthIndex = items.findIndex((item) => { + if (settings.merged.selectedAuthType) { + return item.value === settings.merged.selectedAuthType; + } - if (initialAuthIndex === -1) { - initialAuthIndex = 0; - } + if (process.env.GEMINI_API_KEY) { + return item.value === AuthType.USE_GEMINI; + } + + return item.value === AuthType.LOGIN_WITH_GOOGLE; + }); const handleAuthSelect = (authMethod: AuthType) => { const error = validateAuthMethod(authMethod); @@ -90,13 +98,18 @@ export function AuthDialog({ padding={1} width="100%" > - <Text bold>Select Auth Method</Text> - <RadioButtonSelect - items={items} - initialIndex={initialAuthIndex} - onSelect={handleAuthSelect} - isFocused={true} - /> + <Text bold>Get started</Text> + <Box marginTop={1}> + <Text>How would you like to authenticate for this project?</Text> + </Box> + <Box marginTop={1}> + <RadioButtonSelect + items={items} + initialIndex={initialAuthIndex} + onSelect={handleAuthSelect} + isFocused={true} + /> + </Box> {errorMessage && ( <Box marginTop={1}> <Text color={Colors.AccentRed}>{errorMessage}</Text> |
