+
+
+ Configured credentials for different AI providers. Add and manage your API credentials.{" "}
+
+ Docs
+
+
+
+
+
+
+
+
+
+ Credential Name
+ Provider
+ Description
+ Required
+
+
+
+ {(!credentialsList || credentialsList.length === 0) ? (
+
+
+ No credentials configured
+
+
+ ) : (
+ credentialsList.map((credential: CredentialItem, index: number) => (
+
+ {credential.credential_name}
+
+ {renderProviderBadge(credential.provider)}
+
+ {credential.credential_info.description || '-'}
+
+
+ {credential.credential_info.required ? 'Required' : 'Optional'}
+
+
+
+ ))
+ )}
+
+
+
+
+ {/* TODO: Implement Add Credential Modal */}
+ {isAddModalOpen && (
+
+ {/* Modal content for adding credentials */}
+
+ )}
+
+ );
+};
+
+export default CredentialsPanel;
\ No newline at end of file
diff --git a/ui/litellm-dashboard/src/components/leftnav.tsx b/ui/litellm-dashboard/src/components/leftnav.tsx
index 5990a50f9e5..46540401a94 100644
--- a/ui/litellm-dashboard/src/components/leftnav.tsx
+++ b/ui/litellm-dashboard/src/components/leftnav.tsx
@@ -20,6 +20,7 @@ import {
SafetyOutlined,
ExperimentOutlined,
ThunderboltOutlined,
+ LockOutlined
} from '@ant-design/icons';
import { old_admin_roles, v2_admin_role_names, all_admin_roles, rolesAllowedToSeeUsage, rolesWithWriteAccess } from '../utils/roles';
@@ -68,6 +69,7 @@ const menuItems: MenuItem[] = [
{ key: "10", page: "budgets", label: "Budgets", icon: