diff --git a/apps/api/package.json b/apps/api/package.json index 23f23bfa68..39307a69a2 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -83,7 +83,7 @@ "eslint": "^9.18.0", "eslint-config-prettier": "^10.0.1", "eslint-plugin-prettier": "^5.2.2", - "globals": "^16.0.0", + "globals": "^17.3.0", "jest": "^30.0.0", "prettier": "^3.5.3", "source-map-support": "^0.5.21", diff --git a/apps/api/src/email/templates/hipaa-training-completed.tsx b/apps/api/src/email/templates/hipaa-training-completed.tsx new file mode 100644 index 0000000000..3a220a500f --- /dev/null +++ b/apps/api/src/email/templates/hipaa-training-completed.tsx @@ -0,0 +1,116 @@ +import { + Body, + Container, + Font, + Heading, + Html, + Preview, + Section, + Tailwind, + Text, +} from '@react-email/components'; +import { Footer } from '../components/footer'; +import { Logo } from '../components/logo'; + +interface Props { + email: string; + userName: string; + organizationName: string; + completedAt: Date; +} + +export const HipaaTrainingCompletedEmail = ({ + email, + userName, + organizationName, + completedAt, +}: Props) => { + const formattedDate = new Date(completedAt).toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + }); + + return ( + + + + + + + + Congratulations! You've completed your HIPAA Security Awareness + Training + + + + + + + HIPAA Training Complete! + + + + Hi {userName}, + + + + Congratulations! You have successfully completed the HIPAA + Security Awareness Training for{' '} + {organizationName}. + + +
+ + Completion Date: {formattedDate} + +
+ + + Your HIPAA training completion certificate is attached to this + email. Please save it for your records. + + + + Thank you for your commitment to protecting PHI and maintaining + HIPAA compliance at {organizationName}. + + +
+
+ + This notification was intended for{' '} + {email}. + +
+ +
+ +