diff --git a/plugins/ldap/locales/en.json b/plugins/ldap/locales/en.json
index 8f7be9a66..8dc7329e0 100644
--- a/plugins/ldap/locales/en.json
+++ b/plugins/ldap/locales/en.json
@@ -23,6 +23,12 @@
"namePlaceholder": "Company directory",
"nameRequired": "A display name is required",
"enabled": "Enabled",
+ "enabledDesc": "Let users sign in with this directory.",
+ "dialogDesc": "Connect an LDAP or Active Directory server so users can sign in with it.",
+ "sectionGeneral": "General",
+ "sectionConnection": "Connection",
+ "sectionUsers": "User Lookup",
+ "sectionAccess": "Access",
"save": "Save Directory",
"saving": "Saving...",
"saved": "Saved",
@@ -36,6 +42,7 @@
"host": "LDAP Host",
"port": "Port",
"useTls": "Use TLS (LDAPS)",
+ "useTlsDesc": "Connect over an encrypted LDAPS connection.",
"bindDn": "Bind DN",
"bindPassword": "Bind Password",
"secretKeep": "A password is saved. Leave this empty to keep it.",
diff --git a/plugins/ldap/src/frontend/ProvidersSetting.tsx b/plugins/ldap/src/frontend/ProvidersSetting.tsx
index 61192d7fe..5889eb004 100644
--- a/plugins/ldap/src/frontend/ProvidersSetting.tsx
+++ b/plugins/ldap/src/frontend/ProvidersSetting.tsx
@@ -5,10 +5,13 @@ import {
Button,
Dialog,
DialogContent,
+ DialogDescription,
DialogHeader,
DialogTitle,
+ FakeSwitch,
Input,
- Switch,
+ PasswordInput,
+ SettingRow,
} from "@termix/plugin-sdk/ui";
import { usePluginApi, useTranslation } from "@termix/plugin-sdk/frontend";
import { createLdapApi, type LdapProvider } from "./ldap-api";
@@ -51,9 +54,6 @@ function errorMessage(error: unknown, fallback: string): string {
return err.response?.data?.error || err.message || fallback;
}
-const labelClass =
- "text-[10px] font-semibold text-muted-foreground uppercase tracking-widest";
-
function Field({
label,
required,
@@ -66,14 +66,25 @@ function Field({
children: ReactNode;
}) {
return (
-
-