import { Divider } from "@mui/joy"; import { useEffect, useState } from "react"; import { toast } from "react-hot-toast"; import { useTranslate } from "@/utils/i18n"; import * as api from "@/helpers/api"; import showCreateIdentityProviderDialog from "../CreateIdentityProviderDialog"; import Dropdown from "../kit/Dropdown"; import { showCommonDialog } from "../Dialog/CommonDialog"; import LearnMore from "../LearnMore"; const SSOSection = () => { const t = useTranslate(); const [identityProviderList, setIdentityProviderList] = useState([]); useEffect(() => { fetchIdentityProviderList(); }, []); const fetchIdentityProviderList = async () => { const { data: identityProviderList } = await api.getIdentityProviderList(); setIdentityProviderList(identityProviderList); }; const handleDeleteIdentityProvider = async (identityProvider: IdentityProvider) => { showCommonDialog({ title: t("setting.sso-section.delete-sso"), content: t("setting.sso-section.confirm-delete", { name: identityProvider.name }), style: "warning", dialogName: "delete-identity-provider-dialog", onConfirm: async () => { try { await api.deleteIdentityProvider(identityProvider.id); } catch (error: any) { console.error(error); toast.error(error.response.data.message); } await fetchIdentityProviderList(); }, }); }; return (
{t("setting.sso-section.sso-list")}
{identityProviderList.map((identityProvider) => (

{identityProvider.name} ({identityProvider.type})

} />
))}
); }; export default SSOSection;