import { Color } from '@signozhq/design-tokens'; import { Button, Input, Select, Typography } from 'antd'; import { ArrowLeft, ArrowRight, CheckCircle, Plus, TriangleAlert, } from 'lucide-react'; import { useState } from 'react'; interface InviteTeamMembersProps { teamMembers: string[]; setTeamMembers: (teamMembers: string[]) => void; onNext: () => void; onBack: () => void; } const userRolesOptions = ( ); function InviteTeamMembers({ teamMembers, setTeamMembers, onNext, onBack, }: InviteTeamMembersProps): JSX.Element { const [teamMembersToInvite, setTeamMembersToInvite] = useState( teamMembers || [''], ); const handleAddTeamMember = (): void => { setTeamMembersToInvite([...teamMembersToInvite, '']); }; const handleNext = (): void => { console.log(teamMembersToInvite); setTeamMembers(teamMembersToInvite); onNext(); }; const handleOnChange = ( e: React.ChangeEvent, index: number, ): void => { const newTeamMembers = [...teamMembersToInvite]; newTeamMembers[index] = e.target.value; setTeamMembersToInvite(newTeamMembers); }; const isValidEmail = (email: string): boolean => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return emailRegex.test(email); }; return (
Observability made collaborative The more your team uses SigNoz, the stronger your observability. Share dashboards, collaborate on alerts, and troubleshoot faster together.
Collaborate with your team
Invite your team to the SigNoz workspace
{teamMembersToInvite.map((member, index) => ( // eslint-disable-next-line react/no-array-index-key
0 ? ( isValidEmail(member) ? ( ) : ( ) ) : null } placeholder="your-teammate@org.com" value={member} type="email" required autoFocus autoComplete="off" onChange={(e: React.ChangeEvent): void => handleOnChange(e, index) } />
))}
); } export default InviteTeamMembers;