refactor: optimize React state updates and improve UI text clarity
- Use functional setState to ensure proper state updates in ProviderForm - Improve Chinese UI text consistency in CodexConfigEditor: - Change "API 基础地址" to "API 请求地址" for clarity - Simplify "供应商官网" to "官网地址" - Update placeholder text for consistency - Move requires_openai_auth to model_providers section in Codex config template
This commit is contained in:
@@ -419,10 +419,10 @@ const ProviderForm: React.FC<ProviderFormProps> = ({
|
|||||||
// 不再从 JSON 自动提取或覆盖官网地址,只更新配置内容
|
// 不再从 JSON 自动提取或覆盖官网地址,只更新配置内容
|
||||||
updateSettingsConfigValue(value);
|
updateSettingsConfigValue(value);
|
||||||
} else {
|
} else {
|
||||||
setFormData({
|
setFormData((prev) => ({
|
||||||
...formData,
|
...prev,
|
||||||
[name]: value,
|
[name]: value,
|
||||||
});
|
}));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1232,16 +1232,16 @@ const ProviderForm: React.FC<ProviderFormProps> = ({
|
|||||||
authError={codexAuthError}
|
authError={codexAuthError}
|
||||||
isCustomMode={selectedCodexPreset === -1}
|
isCustomMode={selectedCodexPreset === -1}
|
||||||
onWebsiteUrlChange={(url) => {
|
onWebsiteUrlChange={(url) => {
|
||||||
setFormData({
|
setFormData((prev) => ({
|
||||||
...formData,
|
...prev,
|
||||||
websiteUrl: url,
|
websiteUrl: url,
|
||||||
});
|
}));
|
||||||
}}
|
}}
|
||||||
onNameChange={(name) => {
|
onNameChange={(name) => {
|
||||||
setFormData({
|
setFormData((prev) => ({
|
||||||
...formData,
|
...prev,
|
||||||
name,
|
name,
|
||||||
});
|
}));
|
||||||
}}
|
}}
|
||||||
isTemplateModalOpen={isCodexTemplateModalOpen}
|
isTemplateModalOpen={isCodexTemplateModalOpen}
|
||||||
setIsTemplateModalOpen={setIsCodexTemplateModalOpen}
|
setIsTemplateModalOpen={setIsCodexTemplateModalOpen}
|
||||||
|
|||||||
@@ -438,7 +438,7 @@ const CodexConfigEditor: React.FC<CodexConfigEditorProps> = ({
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<label className="mb-1 block text-sm font-medium text-gray-900 dark:text-gray-100">
|
<label className="mb-1 block text-sm font-medium text-gray-900 dark:text-gray-100">
|
||||||
API 基础地址 *
|
API 请求地址 *
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -455,7 +455,7 @@ const CodexConfigEditor: React.FC<CodexConfigEditorProps> = ({
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<label className="mb-1 block text-sm font-medium text-gray-900 dark:text-gray-100">
|
<label className="mb-1 block text-sm font-medium text-gray-900 dark:text-gray-100">
|
||||||
供应商官网
|
官网地址
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<input
|
<input
|
||||||
@@ -468,7 +468,7 @@ const CodexConfigEditor: React.FC<CodexConfigEditorProps> = ({
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<p className="mt-1 text-xs text-gray-500 dark:text-gray-400">
|
<p className="mt-1 text-xs text-gray-500 dark:text-gray-400">
|
||||||
供应商的官方网站地址(可选)
|
官方网站地址(可选)
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -40,13 +40,13 @@ export function generateThirdPartyConfig(
|
|||||||
model = "${modelName}"
|
model = "${modelName}"
|
||||||
model_reasoning_effort = "high"
|
model_reasoning_effort = "high"
|
||||||
disable_response_storage = true
|
disable_response_storage = true
|
||||||
requires_openai_auth = true
|
|
||||||
|
|
||||||
[model_providers.${cleanProviderName}]
|
[model_providers.${cleanProviderName}]
|
||||||
name = "${cleanProviderName}"
|
name = "${cleanProviderName}"
|
||||||
base_url = "${baseUrl}"
|
base_url = "${baseUrl}"
|
||||||
wire_api = "responses"
|
wire_api = "responses"
|
||||||
env_key = "${cleanProviderName}"`;
|
env_key = "${cleanProviderName}"
|
||||||
|
requires_openai_auth = true`;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const codexProviderPresets: CodexProviderPreset[] = [
|
export const codexProviderPresets: CodexProviderPreset[] = [
|
||||||
|
|||||||
Reference in New Issue
Block a user