refactor(common-config): extract snippet from editor content instead of active provider

- Change extraction source from current active provider to editor's live content
- Add i18n support for JSON parse error messages via invalid_json_format_error()
- Simplify API by removing unused providerId parameter
- Update button labels and error messages in zh/en/ja locales
This commit is contained in:
Jason
2026-01-04 09:43:46 +08:00
parent 058f86aff3
commit 63bb673bf2
12 changed files with 105 additions and 42 deletions
@@ -402,13 +402,20 @@ export function useGeminiCommonConfig({
parseSnippetEnv,
]);
// 从当前供应商提取通用配置片段
// 从编辑器当前内容提取通用配置片段
const handleExtract = useCallback(async () => {
setIsExtracting(true);
setCommonConfigError("");
try {
const extracted = await configApi.extractCommonConfigSnippet("gemini");
const extracted = await configApi.extractCommonConfigSnippet(
"gemini",
{
settingsConfig: JSON.stringify({
env: envStringToObj(envValue),
}),
},
);
if (!extracted || extracted === "{}") {
setCommonConfigError(t("geminiConfig.extractNoCommonConfig"));
@@ -433,7 +440,7 @@ export function useGeminiCommonConfig({
} finally {
setIsExtracting(false);
}
}, [parseSnippetEnv, t]);
}, [envStringToObj, envValue, parseSnippetEnv, t]);
return {
useCommonConfig,