summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/AuthDialog.tsx
diff options
context:
space:
mode:
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>