diff options
| author | Tommaso Sciortino <[email protected]> | 2025-06-27 12:07:38 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-27 19:07:38 +0000 |
| commit | a2a46c7c6700edc6840faa2675d92695d2d3104d (patch) | |
| tree | e0a10e0e5f83f9c55d8a4b459077822626937405 /packages/cli/src/ui/privacy/PrivacyNotice.tsx | |
| parent | 4fbffdf617b2fb87c1b663391fbe488c5c81beb8 (diff) | |
Add privacy notice slash command (#2059)
Diffstat (limited to 'packages/cli/src/ui/privacy/PrivacyNotice.tsx')
| -rw-r--r-- | packages/cli/src/ui/privacy/PrivacyNotice.tsx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/cli/src/ui/privacy/PrivacyNotice.tsx b/packages/cli/src/ui/privacy/PrivacyNotice.tsx new file mode 100644 index 00000000..b12b3648 --- /dev/null +++ b/packages/cli/src/ui/privacy/PrivacyNotice.tsx @@ -0,0 +1,42 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { Box } from 'ink'; +import { type Config, AuthType } from '@google/gemini-cli-core'; +import { GeminiPrivacyNotice } from './GeminiPrivacyNotice.js'; +import { CloudPaidPrivacyNotice } from './CloudPaidPrivacyNotice.js'; +import { CloudFreePrivacyNotice } from './CloudFreePrivacyNotice.js'; + +interface PrivacyNoticeProps { + onExit: () => void; + config: Config; +} + +const PrivacyNoticeText = ({ + config, + onExit, +}: { + config: Config; + onExit: () => void; +}) => { + const authType = config.getContentGeneratorConfig()?.authType; + + switch (authType) { + case AuthType.USE_GEMINI: + return <GeminiPrivacyNotice onExit={onExit} />; + case AuthType.USE_VERTEX_AI: + return <CloudPaidPrivacyNotice onExit={onExit} />; + case AuthType.LOGIN_WITH_GOOGLE_PERSONAL: + default: + return <CloudFreePrivacyNotice config={config} onExit={onExit} />; + } +}; + +export const PrivacyNotice = ({ onExit, config }: PrivacyNoticeProps) => ( + <Box borderStyle="round" padding={1} flexDirection="column"> + <PrivacyNoticeText config={config} onExit={onExit} /> + </Box> +); |
