refactor(gemini-cli): simplify project id normalization and disable input while polling

This commit is contained in:
rensumo
2026-02-21 12:05:19 +08:00
parent 868c015172
commit f506d33fcd
+9 -3
View File
@@ -153,9 +153,14 @@ export function OAuthPage() {
};
const startAuth = async (provider: OAuthProvider) => {
const rawProjectId = (provider === 'gemini-cli' ? states[provider]?.projectId : undefined)?.trim();
const projectId = rawProjectId?.toUpperCase() === 'ALL' ? 'ALL' : (rawProjectId || undefined);
// 项目 ID 现在是可选的,如果不输入将自动选择第一个可用项目;可切换为获取全部项目
const geminiState = provider === 'gemini-cli' ? states[provider] : undefined;
const rawProjectId = provider === 'gemini-cli' ? (geminiState?.projectId || '').trim() : '';
const projectId = rawProjectId
? rawProjectId.toUpperCase() === 'ALL'
? 'ALL'
: rawProjectId
: undefined;
// 项目 ID 可选:留空自动选择第一个可用项目;输入 ALL 获取全部项目
if (provider === 'gemini-cli') {
updateProviderState(provider, { projectIdError: undefined });
}
@@ -368,6 +373,7 @@ export function OAuthPage() {
hint={t('auth_login.gemini_cli_project_id_hint')}
value={state.projectId || ''}
error={state.projectIdError}
disabled={Boolean(state.polling)}
onChange={(e) =>
updateProviderState(provider.id, {
projectId: e.target.value,