import { useMemo } from "react"; import { faBan } from "@fortawesome/free-solid-svg-icons"; import { useQuery } from "@tanstack/react-query"; import { EyeIcon } from "lucide-react"; import { EmptyState, Spinner, Tooltip } from "@app/components/v2"; import { Badge } from "@app/components/v3"; import { gatewaysQueryKeys, useGetIdentityKubernetesAuth } from "@app/hooks/api"; import { IdentityKubernetesAuthForm } from "@app/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityKubernetesAuthForm"; import { IdentityAuthFieldDisplay } from "./IdentityAuthFieldDisplay"; import { ViewAuthMethodProps } from "./types"; import { ViewIdentityContentWrapper } from "./ViewIdentityContentWrapper"; export const ViewIdentityKubernetesAuthContent = ({ identityId, handlePopUpToggle, handlePopUpOpen, onDelete, popUp }: ViewAuthMethodProps) => { const { data: gateways } = useQuery(gatewaysQueryKeys.list()); const { data, isPending } = useGetIdentityKubernetesAuth(identityId); const selectedGateway = useMemo(() => { return gateways?.find((gateway) => gateway.id === data?.gatewayId) || null; }, [gateways, data?.gatewayId]); if (isPending) { return (
); } if (!data) { return ( ); } if (popUp.identityAuthMethod.isOpen) { return ( ); } return ( handlePopUpOpen("identityAuthMethod")} onDelete={onDelete} > {data.accessTokenTTL} {data.accessTokenMaxTTL} {data.accessTokenNumUsesLimit} {data.accessTokenTrustedIps.map((ip) => ip.ipAddress).join(", ")} {data.kubernetesHost} {selectedGateway?.name} {data.tokenReviewerJwt ? ( {data.tokenReviewerJwt || "Not provided"}

} > Reveal
) : (

Not set

)}
{data.allowedNames ?.split(",") .map((name) => name.trim()) .join(", ")} {data.allowedNamespaces ?.split(",") .map((namespace) => namespace.trim()) .join(", ")} {data.allowedAudience} {data.caCert && ( {data.caCert}

} > Reveal
)}
); };