summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/AuthDialog.tsx
diff options
context:
space:
mode:
authorPascal Birchler <[email protected]>2025-07-09 00:10:36 +0200
committerGitHub <[email protected]>2025-07-08 22:10:36 +0000
commitc8cf954e6ef8b360b0c7880ca4d29a12eb1ec7c8 (patch)
tree55670fde25a7d59cae19d2b21ecacc67f58ae1cc /packages/cli/src/ui/components/AuthDialog.tsx
parent0506b40a39c04a5949c7886aaf5f87173453f0a2 (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.tsx41
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>