diff --git a/ui/web/src/pages/agents/agent-create-dialog.tsx b/ui/web/src/pages/agents/agent-create-dialog.tsx
index 235b5a19..32ea07a3 100644
--- a/ui/web/src/pages/agents/agent-create-dialog.tsx
+++ b/ui/web/src/pages/agents/agent-create-dialog.tsx
@@ -28,7 +28,7 @@ interface AgentCreateDialogProps {
export function AgentCreateDialog({ open, onOpenChange, onCreate }: AgentCreateDialogProps) {
const { t } = useTranslation("agents");
const agentPresets = useAgentPresets();
- const { providers } = useProviders();
+ const { providers, refresh: refreshProviders } = useProviders();
const [loading, setLoading] = useState(false);
const [submitError, setSubmitError] = useState("");
@@ -67,12 +67,14 @@ export function AgentCreateDialog({ open, onOpenChange, onCreate }: AgentCreateD
useEffect(() => { resetVerify(); }, [provider, model, resetVerify]);
useEffect(() => {
- if (!open) {
+ if (open) {
+ refreshProviders();
+ } else {
reset();
setSubmitError("");
resetVerify();
}
- }, [open, reset, resetVerify]);
+ }, [open, reset, resetVerify, refreshProviders]);
const handleVerify = async () => {
if (!selectedProviderId || !model.trim()) return;
@@ -103,12 +105,6 @@ export function AgentCreateDialog({ open, onOpenChange, onCreate }: AgentCreateD
}
};
- const handleVerifyAndCreate = async () => {
- if (!selectedProviderId || !model.trim()) return;
- const res = await verify(selectedProviderId, model.trim());
- if (res?.valid) await handleSubmitForm(form.getValues());
- };
-
const handleProviderChange = (value: string) => {
setValue("provider", value, { shouldValidate: true });
setValue("model", "", { shouldValidate: false });
@@ -146,15 +142,8 @@ export function AgentCreateDialog({ open, onOpenChange, onCreate }: AgentCreateD
{loading ? (
- ) : !verifyResult?.valid && selectedProviderId && model.trim() ? (
-
) : (
-