import { Link, Text } from '@react-email/components' import { createLogger } from '@sim/logger' import { baseStyles } from '@/components/emails/_styles' import { EmailLayout } from '@/components/emails/components' import { getBaseUrl } from '@/lib/core/utils/urls' import { getBrandConfig } from '@/ee/whitelabeling' interface InvitationEmailProps { inviterName?: string organizationName?: string inviteLink?: string } const logger = createLogger('InvitationEmail') export function InvitationEmail({ inviterName = 'A team member', organizationName = 'an organization', inviteLink = '', }: InvitationEmailProps) { const brand = getBrandConfig() const baseUrl = getBaseUrl() let enhancedLink = inviteLink if (inviteLink && !inviteLink.includes('token=')) { try { const url = new URL(inviteLink) const invitationId = url.pathname.split('/').pop() if (invitationId) { enhancedLink = `${baseUrl}/invite/${invitationId}?token=${invitationId}` } } catch (e) { logger.error('Error parsing invite link:', e) } } return ( Hello, {inviterName} invited you to join {organizationName} on{' '} {brand.name}. Accept Invitation {/* Divider */}
Invitation expires in 48 hours. If unexpected, you can ignore this email. ) } export default InvitationEmail