import React from "react"; import { Modal, message, Typography } from "antd"; import { CopyToClipboard } from "react-copy-to-clipboard"; import { Text, Button } from "@tremor/react"; export interface InvitationLink { id: string; user_id: string; is_accepted: boolean; accepted_at: Date | null; expires_at: Date; created_at: Date; created_by: string; updated_at: Date; updated_by: string; has_user_setup_sso: boolean; } interface OnboardingProps { isInvitationLinkModalVisible: boolean; setIsInvitationLinkModalVisible: React.Dispatch< React.SetStateAction >; baseUrl: string; invitationLinkData: InvitationLink | null; } export default function OnboardingModal({ isInvitationLinkModalVisible, setIsInvitationLinkModalVisible, baseUrl, invitationLinkData, }: OnboardingProps) { const { Title, Paragraph } = Typography; const handleInvitationOk = () => { setIsInvitationLinkModalVisible(false); }; const handleInvitationCancel = () => { setIsInvitationLinkModalVisible(false); }; const getInvitationUrl = () => { if (invitationLinkData?.has_user_setup_sso) { return new URL("/ui", baseUrl).toString(); } return new URL(`/ui?invitation_id=${invitationLinkData?.id}`, baseUrl).toString(); }; return ( Copy and send the generated link to onboard this user to the proxy.
User ID {invitationLinkData?.user_id}
Invitation Link {getInvitationUrl()}
message.success("Copied!")} >
); }