diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 2fd3f6b..1370ddd 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -242,8 +242,10 @@ export default function AdminPage() { // Tenant users dialog const [tenantUsersDialogId, setTenantUsersDialogId] = useState(null); const [tenantUsersDialogName, setTenantUsersDialogName] = useState(""); + const [tenantUsersDialogLdap, setTenantUsersDialogLdap] = useState(false); const [tenantUsers, setTenantUsers] = useState([]); const [tenantUsersLoading, setTenantUsersLoading] = useState(false); + const [tenantUsersError, setTenantUsersError] = useState(""); // Labels state const [adminLabels, setAdminLabels] = useState([]); @@ -757,13 +759,18 @@ export default function AdminPage() { async function openUsersDialog(t: Tenant) { setTenantUsersDialogId(t.id); setTenantUsersDialogName(t.name); + setTenantUsersDialogLdap(t.ldap_enabled === true); setTenantUsersLoading(true); setTenantUsers([]); + setTenantUsersError(""); try { const users = await getTenantUsers(t.id); setTenantUsers(users || []); - } catch { /* ignore */ } - finally { setTenantUsersLoading(false); } + } catch (err: unknown) { + setTenantUsersError(err instanceof Error ? err.message : "Nutzer konnten nicht geladen werden."); + } finally { + setTenantUsersLoading(false); + } } async function handleAddDomain() { @@ -2595,8 +2602,17 @@ export default function AdminPage() { {tenantUsersLoading ? ( + ) : tenantUsersError ? ( + + {tenantUsersError} + ) : tenantUsers.length === 0 ? ( -

Keine Benutzer diesem Mandanten zugewiesen.

+
+

Keine lokalen Benutzer diesem Mandanten zugewiesen.

+ {tenantUsersDialogLdap && ( +

LDAP ist aktiv — Benutzer erscheinen hier nach ihrem ersten Login.

+ )} +
) : (