@tracked/emails 0.2.5 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/emails/monthly-report.js +1 -1
  2. package/dist/emails/monthly-report.js.map +1 -1
  3. package/dist/emails/trial-converted.d.ts +8 -0
  4. package/dist/emails/trial-converted.d.ts.map +1 -0
  5. package/dist/emails/trial-converted.js +7 -0
  6. package/dist/emails/trial-converted.js.map +1 -0
  7. package/dist/emails/trial-ending-soon.d.ts +10 -0
  8. package/dist/emails/trial-ending-soon.d.ts.map +1 -0
  9. package/dist/emails/trial-ending-soon.js +36 -0
  10. package/dist/emails/trial-ending-soon.js.map +1 -0
  11. package/dist/emails/trial-expired.d.ts +8 -0
  12. package/dist/emails/trial-expired.d.ts.map +1 -0
  13. package/dist/emails/trial-expired.js +24 -0
  14. package/dist/emails/trial-expired.js.map +1 -0
  15. package/dist/emails/trial-midpoint.d.ts +11 -0
  16. package/dist/emails/trial-midpoint.d.ts.map +1 -0
  17. package/dist/emails/trial-midpoint.js +37 -0
  18. package/dist/emails/trial-midpoint.js.map +1 -0
  19. package/dist/emails/trial-started.d.ts +10 -0
  20. package/dist/emails/trial-started.d.ts.map +1 -0
  21. package/dist/emails/trial-started.js +7 -0
  22. package/dist/emails/trial-started.js.map +1 -0
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +6 -1
  26. package/dist/index.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/emails/monthly-report.tsx +4 -4
  29. package/src/emails/trial-converted.tsx +68 -0
  30. package/src/emails/trial-ending-soon.tsx +126 -0
  31. package/src/emails/trial-expired.tsx +96 -0
  32. package/src/emails/trial-midpoint.tsx +150 -0
  33. package/src/emails/trial-started.tsx +75 -0
  34. package/src/index.ts +10 -0
@@ -66,7 +66,7 @@ export const MonthlyReportEmail = ({ metrics = defaultMetrics, previousMetrics =
66
66
  ? (metrics.bodyweightChange >= 0 ? "+" : "") +
67
67
  formatDecimal(metrics.bodyweightChange, 1) +
68
68
  " lbs"
69
- : "N/A", size: "small" }) })] })] })] })), _jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Training Summary" }), _jsxs(Row, { children: [_jsx(Column, { style: { width: "48%" }, children: _jsx(MetricCard, { label: "Sessions Per Week", value: formatDecimal(metrics.avgSessionsPerWeek, 1), size: "small", change: _jsx(ChangeIndicator, { value: metrics.avgSessionsPerWeek, previousValue: previousMetrics?.avgSessionsPerWeek || null }) }) }), _jsx(Column, { style: { width: "4%" } }), _jsx(Column, { style: { width: "48%" }, children: _jsx(MetricCard, { label: "Total Sessions", value: formatNumber(metrics.totalSessionsTracked), size: "small", change: _jsx(ChangeIndicator, { value: metrics.totalSessionsTracked, previousValue: previousMetrics?.totalSessionsTracked || null }) }) })] }), _jsx(Section, { style: { marginTop: "10px" }, children: _jsx(MetricCard, { label: "Total Sets Tracked", value: formatNumber(metrics.totalSetsTracked), change: _jsx(ChangeIndicator, { value: metrics.totalSetsTracked, previousValue: previousMetrics?.totalSetsTracked || null }) }) })] }), metrics.topMuscleGroups && metrics.topMuscleGroups.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Top 5 Prioritized Muscle Groups" }), _jsx(ListBox, { children: metrics.topMuscleGroups.map((mg, idx) => (_jsx(DataRow, { label: `${idx + 1}. ${mg.name}`, value: `${formatNumber(mg.sets)} sets`, isLast: idx === metrics.topMuscleGroups.length - 1 }, mg.muscleGroupId))) })] })] })), hasSessionInsights && (_jsxs(_Fragment, { children: [_jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Session Insights" }), _jsxs(ListBox, { children: [metrics.avgReadinessEnergy && (_jsx(DataRow, { label: "Avg Readiness Energy", value: `${formatDecimal(metrics.avgReadinessEnergy)}/10` })), metrics.avgReadinessMood && (_jsx(DataRow, { label: "Avg Readiness Mood", value: `${formatDecimal(metrics.avgReadinessMood)}/10` })), metrics.avgSessionSatisfaction && (_jsx(DataRow, { label: "Avg Session Satisfaction", value: `${formatDecimal(metrics.avgSessionSatisfaction)}/10` })), metrics.avgSessionProgress && (_jsx(DataRow, { label: "Avg Session Progress", value: `${formatDecimal(metrics.avgSessionProgress)}/10`, isLast: true }))] })] })] })), _jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsx(SmallText, { muted: true, children: "You can manage your email preferences in the Tracked app settings." }), _jsx(EmailFooter, { websiteUrl: websiteUrl, marketing: true, unsubscribeUrl: unsubscribeUrl })] }));
69
+ : "N/A", size: "small" }) })] })] })] })), _jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Training Summary" }), _jsxs(Row, { children: [_jsx(Column, { style: { width: "48%" }, children: _jsx(MetricCard, { label: "Sessions Per Week", value: formatDecimal(metrics.avgSessionsPerWeek, 1), size: "small", change: _jsx(ChangeIndicator, { value: metrics.avgSessionsPerWeek, previousValue: previousMetrics?.avgSessionsPerWeek || null }) }) }), _jsx(Column, { style: { width: "4%" } }), _jsx(Column, { style: { width: "48%" }, children: _jsx(MetricCard, { label: "Total Sessions", value: formatNumber(metrics.totalSessionsTracked), size: "small", change: _jsx(ChangeIndicator, { value: metrics.totalSessionsTracked, previousValue: previousMetrics?.totalSessionsTracked || null }) }) })] }), _jsx(Section, { style: { marginTop: "10px" }, children: _jsx(MetricCard, { label: "Total Sets Tracked", value: formatNumber(metrics.totalSetsTracked), change: _jsx(ChangeIndicator, { value: metrics.totalSetsTracked, previousValue: previousMetrics?.totalSetsTracked || null }) }) })] }), metrics.topMuscleGroups && metrics.topMuscleGroups.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Top 5 Prioritized Muscle Groups" }), _jsx(ListBox, { children: metrics.topMuscleGroups.map((mg, idx) => (_jsx(DataRow, { label: `${idx + 1}. ${mg.name}`, value: `${formatNumber(mg.sets)} sets`, isLast: idx === metrics.topMuscleGroups.length - 1 }, mg.muscleGroupId))) })] })] })), hasSessionInsights && (_jsxs(_Fragment, { children: [_jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsxs(Section, { style: { marginBottom: "24px" }, children: [_jsx(SectionHeading, { children: "Session Insights" }), _jsxs(ListBox, { children: [metrics.avgReadinessEnergy && (_jsx(DataRow, { label: "Avg Readiness Energy", value: `${formatDecimal(metrics.avgReadinessEnergy)}/5` })), metrics.avgReadinessMood && (_jsx(DataRow, { label: "Avg Readiness Mood", value: `${formatDecimal(metrics.avgReadinessMood)}/5` })), metrics.avgSessionSatisfaction && (_jsx(DataRow, { label: "Avg Session Satisfaction", value: `${formatDecimal(metrics.avgSessionSatisfaction)}/5` })), metrics.avgSessionProgress && (_jsx(DataRow, { label: "Avg Session Progress", value: `${formatDecimal(metrics.avgSessionProgress)}/5`, isLast: true }))] })] })] })), _jsx(Hr, { style: { borderColor: colors.border, margin: "24px 0" } }), _jsx(SmallText, { muted: true, children: "You can manage your email preferences in the Tracked app settings." }), _jsx(EmailFooter, { websiteUrl: websiteUrl, marketing: true, unsubscribeUrl: unsubscribeUrl })] }));
70
70
  };
71
71
  export default MonthlyReportEmail;
72
72
  //# sourceMappingURL=monthly-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monthly-report.js","sourceRoot":"","sources":["../../src/emails/monthly-report.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monthly-report.js","sourceRoot":"","sources":["../../src/emails/monthly-report.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface TrialConvertedEmailProps {
2
+ userName: string;
3
+ dashboardUrl: string;
4
+ websiteUrl?: string;
5
+ }
6
+ export declare const TrialConvertedEmail: ({ userName, dashboardUrl, websiteUrl, }: TrialConvertedEmailProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default TrialConvertedEmail;
8
+ //# sourceMappingURL=trial-converted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-converted.d.ts","sourceRoot":"","sources":["../../src/emails/trial-converted.tsx"],"names":[],"mappings":"AAaA,UAAU,wBAAwB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,mBAAmB,GAAI,yCAIjC,wBAAwB,4CA0C1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { EmailLayout, EmailHeader, EmailFooter, Heading, Paragraph, FeatureBox, SmallText, PrimaryButton, DiscordButton, } from "../components/index.js";
3
+ export const TrialConvertedEmail = ({ userName = "Coach", dashboardUrl = "https://dashboard.tracked.gg", websiteUrl = "https://tracked.gg", }) => {
4
+ return (_jsxs(EmailLayout, { preview: "Welcome to Tracked - You're now a subscriber", children: [_jsx(EmailHeader, {}), _jsx(Heading, { children: "Welcome to Tracked" }), _jsxs(Paragraph, { children: ["Hi ", userName, ", thank you for subscribing to Tracked. You now have full access to all coaching features with no time limits."] }), _jsxs(FeatureBox, { title: "What's next:", children: [_jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Continue managing your clients from the dashboard" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Your billing is based on your active client count" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Manage your subscription anytime from billing settings" }), _jsx(SmallText, { children: "\u2022 Reach out if you need any help getting started" })] }), _jsx(Paragraph, { children: "We're excited to have you as part of the Tracked community. If you have any questions about your subscription or the platform, we're here to help." }), _jsx(PrimaryButton, { href: dashboardUrl, children: "Go to Dashboard" }), _jsx(Paragraph, { style: { marginTop: "24px" }, children: "Join our Discord community to connect with other coaches, share tips, and get the latest updates." }), _jsx(DiscordButton, {}), _jsx(EmailFooter, { websiteUrl: websiteUrl })] }));
5
+ };
6
+ export default TrialConvertedEmail;
7
+ //# sourceMappingURL=trial-converted.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-converted.js","sourceRoot":"","sources":["../../src/emails/trial-converted.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAC;AAQhC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,QAAQ,GAAG,OAAO,EAClB,YAAY,GAAG,8BAA8B,EAC7C,UAAU,GAAG,oBAAoB,GACR,EAAE,EAAE;IAC7B,OAAO,CACL,MAAC,WAAW,IAAC,OAAO,EAAC,8CAA8C,aACjE,KAAC,WAAW,KAAG,EAEf,KAAC,OAAO,qCAA6B,EACrC,MAAC,SAAS,sBACJ,QAAQ,sHAEF,EAEZ,MAAC,UAAU,IAAC,KAAK,EAAC,cAAc,aAC9B,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,yEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,yEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,8EAE7B,EACZ,KAAC,SAAS,wEAA6D,IAC5D,EAEb,KAAC,SAAS,qKAIE,EAEZ,KAAC,aAAa,IAAC,IAAI,EAAE,YAAY,gCAAiC,EAElE,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,kHAG3B,EAEZ,KAAC,aAAa,KAAG,EAEjB,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC3B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ interface TrialEndingSoonEmailProps {
2
+ userName: string;
3
+ daysRemaining: number;
4
+ trialEndDate: string;
5
+ upgradeUrl: string;
6
+ websiteUrl?: string;
7
+ }
8
+ export declare const TrialEndingSoonEmail: ({ userName, daysRemaining, trialEndDate, upgradeUrl, websiteUrl, }: TrialEndingSoonEmailProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default TrialEndingSoonEmail;
10
+ //# sourceMappingURL=trial-ending-soon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-ending-soon.d.ts","sourceRoot":"","sources":["../../src/emails/trial-ending-soon.tsx"],"names":[],"mappings":"AAeA,UAAU,yBAAyB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB,GAAI,oEAMlC,yBAAyB,4CA8F3B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Section, Text } from "@react-email/components";
3
+ import { EmailLayout, EmailHeader, EmailFooter, Heading, Paragraph, FeatureBox, SmallText, PrimaryButton, DiscordButton, colors, } from "../components/index.js";
4
+ export const TrialEndingSoonEmail = ({ userName = "Coach", daysRemaining = 3, trialEndDate = "January 29, 2025", upgradeUrl = "https://dashboard.tracked.gg/billing", websiteUrl = "https://tracked.gg", }) => {
5
+ const dayText = daysRemaining === 1 ? "day" : "days";
6
+ return (_jsxs(EmailLayout, { preview: `Only ${daysRemaining} ${dayText} left in your Tracked trial`, children: [_jsx(EmailHeader, {}), _jsx(Section, { style: {
7
+ backgroundColor: "#FEF3C7",
8
+ padding: "16px 20px",
9
+ borderRadius: "8px",
10
+ marginBottom: "24px",
11
+ borderLeft: "4px solid #F59E0B",
12
+ }, children: _jsxs(Text, { style: {
13
+ color: "#92400E",
14
+ fontSize: "14px",
15
+ fontWeight: "600",
16
+ margin: "0",
17
+ }, children: ["Your trial ends in ", daysRemaining, " ", dayText] }) }), _jsx(Heading, { children: "Your Trial is Almost Over" }), _jsxs(Paragraph, { children: ["Hi ", userName, ", your free trial of Tracked ends on ", trialEndDate, ". To keep your client data and continue using the coaching dashboard, subscribe before your trial expires."] }), _jsxs(FeatureBox, { title: "What happens when your trial ends:", children: [_jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 You'll lose access to the coaching dashboard" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Your client data will be safely preserved" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Clients will still have access to their workouts" }), _jsx(SmallText, { children: "\u2022 You can reactivate at any time to regain access" })] }), _jsxs(Section, { style: {
18
+ backgroundColor: colors.surface,
19
+ padding: "20px 24px",
20
+ borderRadius: "8px",
21
+ margin: "24px 0",
22
+ borderLeft: `4px solid ${colors.accent}`,
23
+ }, children: [_jsx(Text, { style: {
24
+ color: colors.accent,
25
+ fontSize: "18px",
26
+ fontWeight: "bold",
27
+ marginBottom: "8px",
28
+ }, children: "Don't lose access" }), _jsx(Text, { style: {
29
+ color: colors.textSecondary,
30
+ fontSize: "14px",
31
+ lineHeight: "20px",
32
+ margin: "0 0 16px 0",
33
+ }, children: "Subscribe now to keep managing your clients without interruption. Pricing starts at just a few dollars per month based on your client count." }), _jsx(PrimaryButton, { href: upgradeUrl, children: "Subscribe Now" })] }), _jsx(Paragraph, { children: "Have questions about pricing or need more time? Reply to this email or reach out on Discord. We're happy to help." }), _jsx(DiscordButton, {}), _jsx(EmailFooter, { websiteUrl: websiteUrl })] }));
34
+ };
35
+ export default TrialEndingSoonEmail;
36
+ //# sourceMappingURL=trial-ending-soon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-ending-soon.js","sourceRoot":"","sources":["../../src/emails/trial-ending-soon.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,MAAM,GACP,MAAM,wBAAwB,CAAC;AAUhC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,QAAQ,GAAG,OAAO,EAClB,aAAa,GAAG,CAAC,EACjB,YAAY,GAAG,kBAAkB,EACjC,UAAU,GAAG,sCAAsC,EACnD,UAAU,GAAG,oBAAoB,GACP,EAAE,EAAE;IAC9B,MAAM,OAAO,GAAG,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAErD,OAAO,CACL,MAAC,WAAW,IACV,OAAO,EAAE,QAAQ,aAAa,IAAI,OAAO,6BAA6B,aAEtE,KAAC,WAAW,KAAG,EAEf,KAAC,OAAO,IACN,KAAK,EAAE;oBACL,eAAe,EAAE,SAAS;oBAC1B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,KAAK;oBACnB,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,mBAAmB;iBAChC,YAED,MAAC,IAAI,IACH,KAAK,EAAE;wBACL,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE,KAAK;wBACjB,MAAM,EAAE,GAAG;qBACZ,oCAEmB,aAAa,OAAG,OAAO,IACtC,GACC,EAEV,KAAC,OAAO,4CAAoC,EAC5C,MAAC,SAAS,sBACJ,QAAQ,2CAAuC,YAAY,kHAGrD,EAEZ,MAAC,UAAU,IAAC,KAAK,EAAC,oCAAoC,aACpD,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,oEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,iEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wEAE7B,EACZ,KAAC,SAAS,yEAA8D,IAC7D,EAEb,MAAC,OAAO,IACN,KAAK,EAAE;oBACL,eAAe,EAAE,MAAM,CAAC,OAAO;oBAC/B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE;iBACzC,aAED,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAe;4BAC3B,YAAY,EAAE,KAAK;yBACpB,kCAGI,EACP,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,aAAa;4BAC3B,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,YAAY;yBACrB,6JAKI,EACP,KAAC,aAAa,IAAC,IAAI,EAAE,UAAU,8BAA+B,IACtD,EAEV,KAAC,SAAS,oIAGE,EAEZ,KAAC,aAAa,KAAG,EAEjB,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC3B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface TrialExpiredEmailProps {
2
+ userName: string;
3
+ reactivateUrl: string;
4
+ websiteUrl?: string;
5
+ }
6
+ export declare const TrialExpiredEmail: ({ userName, reactivateUrl, websiteUrl, }: TrialExpiredEmailProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default TrialExpiredEmail;
8
+ //# sourceMappingURL=trial-expired.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-expired.d.ts","sourceRoot":"","sources":["../../src/emails/trial-expired.tsx"],"names":[],"mappings":"AAeA,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,GAAI,0CAI/B,sBAAsB,4CAoExB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Section, Text } from "@react-email/components";
3
+ import { EmailLayout, EmailHeader, EmailFooter, Heading, Paragraph, FeatureBox, SmallText, PrimaryButton, DiscordButton, colors, } from "../components/index.js";
4
+ export const TrialExpiredEmail = ({ userName = "Coach", reactivateUrl = "https://dashboard.tracked.gg/billing", websiteUrl = "https://tracked.gg", }) => {
5
+ return (_jsxs(EmailLayout, { preview: "Your Tracked trial has ended", children: [_jsx(EmailHeader, {}), _jsx(Heading, { children: "Your Trial Has Ended" }), _jsxs(Paragraph, { children: ["Hi ", userName, ", your free trial of Tracked has expired. Your access to the coaching dashboard has been paused, but don't worry \u2014 your data is safe."] }), _jsxs(FeatureBox, { title: "Your data is preserved:", children: [_jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 All client profiles and workout history are saved" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Your workout templates and programs are intact" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Client progress data remains accessible when you return" }), _jsx(SmallText, { children: "\u2022 Subscribe anytime to regain full access" })] }), _jsxs(Section, { style: {
6
+ backgroundColor: colors.surface,
7
+ padding: "20px 24px",
8
+ borderRadius: "8px",
9
+ margin: "24px 0",
10
+ borderLeft: `4px solid ${colors.accent}`,
11
+ }, children: [_jsx(Text, { style: {
12
+ color: colors.accent,
13
+ fontSize: "18px",
14
+ fontWeight: "bold",
15
+ marginBottom: "8px",
16
+ }, children: "Ready to continue?" }), _jsx(Text, { style: {
17
+ color: colors.textSecondary,
18
+ fontSize: "14px",
19
+ lineHeight: "20px",
20
+ margin: "0 0 16px 0",
21
+ }, children: "Reactivate your account to pick up right where you left off. Your clients are waiting." }), _jsx(PrimaryButton, { href: reactivateUrl, children: "Reactivate Now" })] }), _jsx(Paragraph, { children: "If you decided Tracked isn't for you right now, we'd love to hear why. Your feedback helps us build a better product for coaches like you." }), _jsx(DiscordButton, {}), _jsx(EmailFooter, { websiteUrl: websiteUrl })] }));
22
+ };
23
+ export default TrialExpiredEmail;
24
+ //# sourceMappingURL=trial-expired.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-expired.js","sourceRoot":"","sources":["../../src/emails/trial-expired.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,MAAM,GACP,MAAM,wBAAwB,CAAC;AAQhC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,GAAG,OAAO,EAClB,aAAa,GAAG,sCAAsC,EACtD,UAAU,GAAG,oBAAoB,GACV,EAAE,EAAE;IAC3B,OAAO,CACL,MAAC,WAAW,IAAC,OAAO,EAAC,8BAA8B,aACjD,KAAC,WAAW,KAAG,EAEf,KAAC,OAAO,uCAA+B,EACvC,MAAC,SAAS,sBACJ,QAAQ,kJAGF,EAEZ,MAAC,UAAU,IAAC,KAAK,EAAC,yBAAyB,aACzC,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,yEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,sEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,+EAE7B,EACZ,KAAC,SAAS,iEAAsD,IACrD,EAEb,MAAC,OAAO,IACN,KAAK,EAAE;oBACL,eAAe,EAAE,MAAM,CAAC,OAAO;oBAC/B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE;iBACzC,aAED,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAe;4BAC3B,YAAY,EAAE,KAAK;yBACpB,mCAGI,EACP,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,aAAa;4BAC3B,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,YAAY;yBACrB,uGAII,EACP,KAAC,aAAa,IAAC,IAAI,EAAE,aAAa,+BAAgC,IAC1D,EAEV,KAAC,SAAS,6JAGE,EAEZ,KAAC,aAAa,KAAG,EAEjB,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC3B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ interface TrialMidpointEmailProps {
2
+ userName: string;
3
+ daysRemaining: number;
4
+ trialEndDate: string;
5
+ clientsAdded: number;
6
+ upgradeUrl: string;
7
+ websiteUrl?: string;
8
+ }
9
+ export declare const TrialMidpointEmail: ({ userName, daysRemaining, trialEndDate, clientsAdded, upgradeUrl, websiteUrl, }: TrialMidpointEmailProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default TrialMidpointEmail;
11
+ //# sourceMappingURL=trial-midpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-midpoint.d.ts","sourceRoot":"","sources":["../../src/emails/trial-midpoint.tsx"],"names":[],"mappings":"AAeA,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,kFAOhC,uBAAuB,4CAoHzB,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Section, Text } from "@react-email/components";
3
+ import { EmailLayout, EmailHeader, EmailFooter, Heading, Paragraph, FeatureBox, SmallText, PrimaryButton, DiscordButton, colors, } from "../components/index.js";
4
+ export const TrialMidpointEmail = ({ userName = "Coach", daysRemaining = 7, trialEndDate = "January 29, 2025", clientsAdded = 0, upgradeUrl = "https://dashboard.tracked.gg/billing", websiteUrl = "https://tracked.gg", }) => {
5
+ const hasClients = clientsAdded > 0;
6
+ return (_jsxs(EmailLayout, { preview: `${daysRemaining} days left in your Tracked trial`, children: [_jsx(EmailHeader, {}), _jsx(Heading, { children: "You're Halfway Through Your Trial" }), hasClients ? (_jsxs(Paragraph, { children: ["Hi ", userName, ", you've added ", clientsAdded, " ", clientsAdded === 1 ? "client" : "clients", " to Tracked so far. You have ", daysRemaining, " days left to explore everything the platform has to offer before your trial ends on ", trialEndDate, "."] })) : (_jsxs(Paragraph, { children: ["Hi ", userName, ", you have ", daysRemaining, " days left in your free trial. We noticed you haven't added any clients yet. Let us help you get started."] })), !hasClients && (_jsxs(Section, { style: {
7
+ backgroundColor: colors.surface,
8
+ padding: "16px 24px",
9
+ borderRadius: "8px",
10
+ margin: "24px 0",
11
+ borderLeft: `4px solid ${colors.accent}`,
12
+ }, children: [_jsx(Text, { style: {
13
+ color: colors.accent,
14
+ fontSize: "14px",
15
+ fontWeight: "bold",
16
+ marginBottom: "4px",
17
+ marginTop: "0",
18
+ }, children: "Quick Start Guide" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "1. Add your first client from the dashboard" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "2. Create a workout program or use a template" }), _jsx(SmallText, { children: "3. Assign workouts and start tracking progress" })] })), _jsxs(FeatureBox, { title: "Features you might have missed:", children: [_jsxs(SmallText, { style: { marginBottom: "4px" }, children: ["\u2022 ", _jsx("strong", { children: "Workout Templates" }), " \u2014 Save time with reusable programs"] }), _jsxs(SmallText, { style: { marginBottom: "4px" }, children: ["\u2022 ", _jsx("strong", { children: "Progress Photos" }), " \u2014 Track visual client transformations"] }), _jsxs(SmallText, { style: { marginBottom: "4px" }, children: ["\u2022 ", _jsx("strong", { children: "Check-ins" }), " \u2014 Weekly accountability with your clients"] }), _jsxs(SmallText, { children: ["\u2022 ", _jsx("strong", { children: "Analytics" }), " \u2014 See training trends and client performance"] })] }), _jsxs(Section, { style: {
19
+ backgroundColor: colors.surface,
20
+ padding: "20px 24px",
21
+ borderRadius: "8px",
22
+ margin: "24px 0",
23
+ borderLeft: `4px solid ${colors.accent}`,
24
+ }, children: [_jsx(Text, { style: {
25
+ color: colors.accent,
26
+ fontSize: "16px",
27
+ fontWeight: "bold",
28
+ marginBottom: "8px",
29
+ }, children: "Ready to upgrade?" }), _jsx(Text, { style: {
30
+ color: colors.textSecondary,
31
+ fontSize: "14px",
32
+ lineHeight: "20px",
33
+ margin: "0",
34
+ }, children: "Lock in your subscription now and never lose access to your client data. Pricing is based on the number of active clients you manage." }), _jsx(PrimaryButton, { href: upgradeUrl, children: "View Pricing" })] }), _jsx(Paragraph, { children: "Questions? Join our Discord community to connect with other coaches and get tips on growing your coaching business." }), _jsx(DiscordButton, {}), _jsx(EmailFooter, { websiteUrl: websiteUrl })] }));
35
+ };
36
+ export default TrialMidpointEmail;
37
+ //# sourceMappingURL=trial-midpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-midpoint.js","sourceRoot":"","sources":["../../src/emails/trial-midpoint.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,MAAM,GACP,MAAM,wBAAwB,CAAC;AAWhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,QAAQ,GAAG,OAAO,EAClB,aAAa,GAAG,CAAC,EACjB,YAAY,GAAG,kBAAkB,EACjC,YAAY,GAAG,CAAC,EAChB,UAAU,GAAG,sCAAsC,EACnD,UAAU,GAAG,oBAAoB,GACT,EAAE,EAAE;IAC5B,MAAM,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;IAEpC,OAAO,CACL,MAAC,WAAW,IAAC,OAAO,EAAE,GAAG,aAAa,kCAAkC,aACtE,KAAC,WAAW,KAAG,EAEf,KAAC,OAAO,oDAA4C,EAEnD,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,SAAS,sBACJ,QAAQ,qBAAiB,YAAY,EAAE,GAAG,EAC7C,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mCACpC,aAAa,2FACiB,YAAY,SACtC,CACb,CAAC,CAAC,CAAC,CACF,MAAC,SAAS,sBACJ,QAAQ,iBAAa,aAAa,iHAG5B,CACb,EAEA,CAAC,UAAU,IAAI,CACd,MAAC,OAAO,IACN,KAAK,EAAE;oBACL,eAAe,EAAE,MAAM,CAAC,OAAO;oBAC/B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE;iBACzC,aAED,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAe;4BAC3B,YAAY,EAAE,KAAK;4BACnB,SAAS,EAAE,GAAG;yBACf,kCAGI,EACP,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,4DAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,8DAE7B,EACZ,KAAC,SAAS,iEAA2D,IAC7D,CACX,EAED,MAAC,UAAU,IAAC,KAAK,EAAC,iCAAiC,aACjD,MAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wBACrC,iDAAkC,gDAE1B,EACZ,MAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wBACrC,+CAAgC,mDAExB,EACZ,MAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,wBACrC,yCAA0B,uDAClB,EACZ,MAAC,SAAS,0BACN,yCAA0B,0DAElB,IACD,EAEb,MAAC,OAAO,IACN,KAAK,EAAE;oBACL,eAAe,EAAE,MAAM,CAAC,OAAO;oBAC/B,OAAO,EAAE,WAAW;oBACpB,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE;iBACzC,aAED,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,MAAM;4BACpB,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAe;4BAC3B,YAAY,EAAE,KAAK;yBACpB,kCAGI,EACP,KAAC,IAAI,IACH,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,aAAa;4BAC3B,QAAQ,EAAE,MAAM;4BAChB,UAAU,EAAE,MAAM;4BAClB,MAAM,EAAE,GAAG;yBACZ,sJAII,EACP,KAAC,aAAa,IAAC,IAAI,EAAE,UAAU,6BAA8B,IACrD,EAEV,KAAC,SAAS,sIAGE,EAEZ,KAAC,aAAa,KAAG,EAEjB,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC3B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ interface TrialStartedEmailProps {
2
+ userName: string;
3
+ trialEndDate: string;
4
+ daysRemaining: number;
5
+ upgradeUrl: string;
6
+ websiteUrl?: string;
7
+ }
8
+ export declare const TrialStartedEmail: ({ userName, trialEndDate, daysRemaining, upgradeUrl, websiteUrl, }: TrialStartedEmailProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default TrialStartedEmail;
10
+ //# sourceMappingURL=trial-started.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-started.d.ts","sourceRoot":"","sources":["../../src/emails/trial-started.tsx"],"names":[],"mappings":"AAaA,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,GAAI,oEAM/B,sBAAsB,4CA6CxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { EmailLayout, EmailHeader, EmailFooter, Heading, Paragraph, FeatureBox, SmallText, PrimaryButton, DiscordButton, } from "../components/index.js";
3
+ export const TrialStartedEmail = ({ userName = "Coach", trialEndDate = "January 29, 2025", daysRemaining = 14, upgradeUrl = "https://dashboard.tracked.gg/billing", websiteUrl = "https://tracked.gg", }) => {
4
+ return (_jsxs(EmailLayout, { preview: "Welcome to your Tracked coaching trial", children: [_jsx(EmailHeader, {}), _jsx(Heading, { children: "Welcome to Your Free Trial" }), _jsxs(Paragraph, { children: ["Hi ", userName, ", your ", daysRemaining, "-day free trial of Tracked has started. You have until ", trialEndDate, " to explore everything the platform has to offer."] }), _jsxs(FeatureBox, { title: "What's included in your trial:", children: [_jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Unlimited client management (up to 500 clients)" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Custom workout programming and templates" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 Client progress tracking and analytics" }), _jsx(SmallText, { style: { marginBottom: "4px" }, children: "\u2022 In-app messaging with clients" }), _jsx(SmallText, { children: "\u2022 Full access to the coaching dashboard" })] }), _jsx(Paragraph, { children: "Ready to get started? Head to your dashboard to add your first clients and start building your coaching business." }), _jsx(PrimaryButton, { href: upgradeUrl, children: "Go to Dashboard" }), _jsx(Paragraph, { style: { marginTop: "24px" }, children: "If you have any questions or need help getting set up, our team is here for you. Join our Discord community to connect with other coaches." }), _jsx(DiscordButton, {}), _jsx(EmailFooter, { websiteUrl: websiteUrl })] }));
5
+ };
6
+ export default TrialStartedEmail;
7
+ //# sourceMappingURL=trial-started.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trial-started.js","sourceRoot":"","sources":["../../src/emails/trial-started.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,GACd,MAAM,wBAAwB,CAAC;AAUhC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,QAAQ,GAAG,OAAO,EAClB,YAAY,GAAG,kBAAkB,EACjC,aAAa,GAAG,EAAE,EAClB,UAAU,GAAG,sCAAsC,EACnD,UAAU,GAAG,oBAAoB,GACV,EAAE,EAAE;IAC3B,OAAO,CACL,MAAC,WAAW,IAAC,OAAO,EAAC,wCAAwC,aAC3D,KAAC,WAAW,KAAG,EAEf,KAAC,OAAO,6CAAqC,EAC7C,MAAC,SAAS,sBACJ,QAAQ,aAAS,aAAa,6DACT,YAAY,yDAE3B,EAEZ,MAAC,UAAU,IAAC,KAAK,EAAC,gCAAgC,aAChD,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,uEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,gEAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,8DAE7B,EACZ,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,qDAE7B,EACZ,KAAC,SAAS,+DAAoD,IACnD,EAEb,KAAC,SAAS,oIAGE,EAEZ,KAAC,aAAa,IAAC,IAAI,EAAE,UAAU,gCAAiC,EAEhE,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,2JAG3B,EAEZ,KAAC,aAAa,KAAG,EAEjB,KAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,IAC3B,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,11 @@ import { NewFollowerEmail } from "./emails/new-follower.js";
15
15
  import { NpsSurveyEmail } from "./emails/nps-survey.js";
16
16
  import { SubscriptionCanceledEmail } from "./emails/subscription-canceled.js";
17
17
  import { SupportEmail } from "./emails/support-email.js";
18
+ import { TrialConvertedEmail } from "./emails/trial-converted.js";
19
+ import { TrialEndingSoonEmail } from "./emails/trial-ending-soon.js";
20
+ import { TrialExpiredEmail } from "./emails/trial-expired.js";
21
+ import { TrialMidpointEmail } from "./emails/trial-midpoint.js";
22
+ import { TrialStartedEmail } from "./emails/trial-started.js";
18
23
  import { TeamInviteEmail } from "./emails/team-invite.js";
19
24
  import { TeamMemberRemovedEmail } from "./emails/team-member-removed-email.js";
20
25
  import { TrackedMagicLink } from "./emails/tracked-magic-link.js";
@@ -24,7 +29,7 @@ import { WeekOneCheckinEmail } from "./emails/week-one-checkin.js";
24
29
  import { WelcomeEmail } from "./emails/welcome.js";
25
30
  import { isPrivateRelayEmail, isValidEmailFormat, shouldSendEmailTo } from "./utils/email-validation.js";
26
31
  import { isAnonymousUsername, getSafeDisplayName } from "./utils/username-validation.js";
27
- export { AnniversaryEmail, AppReviewRequestEmail, BodyweightGoalReachedEmail, ClientInactiveAlertEmail, ClientOnboardedEmail, CoachInviteEmail, CoachRemovedClientEmail, DirectMessageEmail, FeatureDiscoveryEmail, FirstWorkoutAssignedEmail, FirstWorkoutCompletedEmail, InactiveReengagementEmail, MonthlyReportEmail, NewFollowerEmail, NpsSurveyEmail, SubscriptionCanceledEmail, SupportEmail, TeamInviteEmail, TeamMemberRemovedEmail, TrackedMagicLink, TrackedMagicLinkActivate, WeeklyProgressDigestEmail, WeekOneCheckinEmail, WelcomeEmail, };
32
+ export { AnniversaryEmail, AppReviewRequestEmail, BodyweightGoalReachedEmail, ClientInactiveAlertEmail, ClientOnboardedEmail, CoachInviteEmail, CoachRemovedClientEmail, DirectMessageEmail, FeatureDiscoveryEmail, FirstWorkoutAssignedEmail, FirstWorkoutCompletedEmail, InactiveReengagementEmail, MonthlyReportEmail, NewFollowerEmail, NpsSurveyEmail, SubscriptionCanceledEmail, SupportEmail, TeamInviteEmail, TeamMemberRemovedEmail, TrackedMagicLink, TrackedMagicLinkActivate, TrialConvertedEmail, TrialEndingSoonEmail, TrialExpiredEmail, TrialMidpointEmail, TrialStartedEmail, WeeklyProgressDigestEmail, WeekOneCheckinEmail, WelcomeEmail, };
28
33
  export { isPrivateRelayEmail, isValidEmailFormat, shouldSendEmailTo, isAnonymousUsername, getSafeDisplayName, };
29
34
  export * from "./components/index.js";
30
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,GACb,CAAC;AAGF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAGF,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,GACb,CAAC;AAGF,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAGF,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,11 @@ import { NewFollowerEmail } from "./emails/new-follower.js";
16
16
  import { NpsSurveyEmail } from "./emails/nps-survey.js";
17
17
  import { SubscriptionCanceledEmail } from "./emails/subscription-canceled.js";
18
18
  import { SupportEmail } from "./emails/support-email.js";
19
+ import { TrialConvertedEmail } from "./emails/trial-converted.js";
20
+ import { TrialEndingSoonEmail } from "./emails/trial-ending-soon.js";
21
+ import { TrialExpiredEmail } from "./emails/trial-expired.js";
22
+ import { TrialMidpointEmail } from "./emails/trial-midpoint.js";
23
+ import { TrialStartedEmail } from "./emails/trial-started.js";
19
24
  import { TeamInviteEmail } from "./emails/team-invite.js";
20
25
  import { TeamMemberRemovedEmail } from "./emails/team-member-removed-email.js";
21
26
  import { TrackedMagicLink } from "./emails/tracked-magic-link.js";
@@ -27,7 +32,7 @@ import { WelcomeEmail } from "./emails/welcome.js";
27
32
  import { isPrivateRelayEmail, isValidEmailFormat, shouldSendEmailTo, } from "./utils/email-validation.js";
28
33
  import { isAnonymousUsername, getSafeDisplayName, } from "./utils/username-validation.js";
29
34
  // Export email templates
30
- export { AnniversaryEmail, AppReviewRequestEmail, BodyweightGoalReachedEmail, ClientInactiveAlertEmail, ClientOnboardedEmail, CoachInviteEmail, CoachRemovedClientEmail, DirectMessageEmail, FeatureDiscoveryEmail, FirstWorkoutAssignedEmail, FirstWorkoutCompletedEmail, InactiveReengagementEmail, MonthlyReportEmail, NewFollowerEmail, NpsSurveyEmail, SubscriptionCanceledEmail, SupportEmail, TeamInviteEmail, TeamMemberRemovedEmail, TrackedMagicLink, TrackedMagicLinkActivate, WeeklyProgressDigestEmail, WeekOneCheckinEmail, WelcomeEmail, };
35
+ export { AnniversaryEmail, AppReviewRequestEmail, BodyweightGoalReachedEmail, ClientInactiveAlertEmail, ClientOnboardedEmail, CoachInviteEmail, CoachRemovedClientEmail, DirectMessageEmail, FeatureDiscoveryEmail, FirstWorkoutAssignedEmail, FirstWorkoutCompletedEmail, InactiveReengagementEmail, MonthlyReportEmail, NewFollowerEmail, NpsSurveyEmail, SubscriptionCanceledEmail, SupportEmail, TeamInviteEmail, TeamMemberRemovedEmail, TrackedMagicLink, TrackedMagicLinkActivate, TrialConvertedEmail, TrialEndingSoonEmail, TrialExpiredEmail, TrialMidpointEmail, TrialStartedEmail, WeeklyProgressDigestEmail, WeekOneCheckinEmail, WelcomeEmail, };
31
36
  // Export validation utilities
32
37
  export { isPrivateRelayEmail, isValidEmailFormat, shouldSendEmailTo, isAnonymousUsername, getSafeDisplayName, };
33
38
  // Export shared components
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,GACb,CAAC;AAEF,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAEF,2BAA2B;AAC3B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAExC,yBAAyB;AACzB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,GACb,CAAC;AAEF,8BAA8B;AAC9B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAC;AAEF,2BAA2B;AAC3B,cAAc,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracked/emails",
3
- "version": "0.2.5",
3
+ "version": "0.2.8",
4
4
  "description": "Email templates for Tracked Training Platform",
5
5
  "author": "Tracked Training Platform Inc.",
6
6
  "license": "MIT",
@@ -275,25 +275,25 @@ export const MonthlyReportEmail = ({
275
275
  {metrics.avgReadinessEnergy && (
276
276
  <DataRow
277
277
  label="Avg Readiness Energy"
278
- value={`${formatDecimal(metrics.avgReadinessEnergy)}/10`}
278
+ value={`${formatDecimal(metrics.avgReadinessEnergy)}/5`}
279
279
  />
280
280
  )}
281
281
  {metrics.avgReadinessMood && (
282
282
  <DataRow
283
283
  label="Avg Readiness Mood"
284
- value={`${formatDecimal(metrics.avgReadinessMood)}/10`}
284
+ value={`${formatDecimal(metrics.avgReadinessMood)}/5`}
285
285
  />
286
286
  )}
287
287
  {metrics.avgSessionSatisfaction && (
288
288
  <DataRow
289
289
  label="Avg Session Satisfaction"
290
- value={`${formatDecimal(metrics.avgSessionSatisfaction)}/10`}
290
+ value={`${formatDecimal(metrics.avgSessionSatisfaction)}/5`}
291
291
  />
292
292
  )}
293
293
  {metrics.avgSessionProgress && (
294
294
  <DataRow
295
295
  label="Avg Session Progress"
296
- value={`${formatDecimal(metrics.avgSessionProgress)}/10`}
296
+ value={`${formatDecimal(metrics.avgSessionProgress)}/5`}
297
297
  isLast
298
298
  />
299
299
  )}
@@ -0,0 +1,68 @@
1
+ import * as React from "react";
2
+ import {
3
+ EmailLayout,
4
+ EmailHeader,
5
+ EmailFooter,
6
+ Heading,
7
+ Paragraph,
8
+ FeatureBox,
9
+ SmallText,
10
+ PrimaryButton,
11
+ DiscordButton,
12
+ } from "../components/index.js";
13
+
14
+ interface TrialConvertedEmailProps {
15
+ userName: string;
16
+ dashboardUrl: string;
17
+ websiteUrl?: string;
18
+ }
19
+
20
+ export const TrialConvertedEmail = ({
21
+ userName = "Coach",
22
+ dashboardUrl = "https://dashboard.tracked.gg",
23
+ websiteUrl = "https://tracked.gg",
24
+ }: TrialConvertedEmailProps) => {
25
+ return (
26
+ <EmailLayout preview="Welcome to Tracked - You're now a subscriber">
27
+ <EmailHeader />
28
+
29
+ <Heading>Welcome to Tracked</Heading>
30
+ <Paragraph>
31
+ Hi {userName}, thank you for subscribing to Tracked. You now have full
32
+ access to all coaching features with no time limits.
33
+ </Paragraph>
34
+
35
+ <FeatureBox title="What's next:">
36
+ <SmallText style={{ marginBottom: "4px" }}>
37
+ • Continue managing your clients from the dashboard
38
+ </SmallText>
39
+ <SmallText style={{ marginBottom: "4px" }}>
40
+ • Your billing is based on your active client count
41
+ </SmallText>
42
+ <SmallText style={{ marginBottom: "4px" }}>
43
+ • Manage your subscription anytime from billing settings
44
+ </SmallText>
45
+ <SmallText>• Reach out if you need any help getting started</SmallText>
46
+ </FeatureBox>
47
+
48
+ <Paragraph>
49
+ We're excited to have you as part of the Tracked community. If you have
50
+ any questions about your subscription or the platform, we're here to
51
+ help.
52
+ </Paragraph>
53
+
54
+ <PrimaryButton href={dashboardUrl}>Go to Dashboard</PrimaryButton>
55
+
56
+ <Paragraph style={{ marginTop: "24px" }}>
57
+ Join our Discord community to connect with other coaches, share tips,
58
+ and get the latest updates.
59
+ </Paragraph>
60
+
61
+ <DiscordButton />
62
+
63
+ <EmailFooter websiteUrl={websiteUrl} />
64
+ </EmailLayout>
65
+ );
66
+ };
67
+
68
+ export default TrialConvertedEmail;
@@ -0,0 +1,126 @@
1
+ import * as React from "react";
2
+ import { Section, Text } from "@react-email/components";
3
+ import {
4
+ EmailLayout,
5
+ EmailHeader,
6
+ EmailFooter,
7
+ Heading,
8
+ Paragraph,
9
+ FeatureBox,
10
+ SmallText,
11
+ PrimaryButton,
12
+ DiscordButton,
13
+ colors,
14
+ } from "../components/index.js";
15
+
16
+ interface TrialEndingSoonEmailProps {
17
+ userName: string;
18
+ daysRemaining: number;
19
+ trialEndDate: string;
20
+ upgradeUrl: string;
21
+ websiteUrl?: string;
22
+ }
23
+
24
+ export const TrialEndingSoonEmail = ({
25
+ userName = "Coach",
26
+ daysRemaining = 3,
27
+ trialEndDate = "January 29, 2025",
28
+ upgradeUrl = "https://dashboard.tracked.gg/billing",
29
+ websiteUrl = "https://tracked.gg",
30
+ }: TrialEndingSoonEmailProps) => {
31
+ const dayText = daysRemaining === 1 ? "day" : "days";
32
+
33
+ return (
34
+ <EmailLayout
35
+ preview={`Only ${daysRemaining} ${dayText} left in your Tracked trial`}
36
+ >
37
+ <EmailHeader />
38
+
39
+ <Section
40
+ style={{
41
+ backgroundColor: "#FEF3C7",
42
+ padding: "16px 20px",
43
+ borderRadius: "8px",
44
+ marginBottom: "24px",
45
+ borderLeft: "4px solid #F59E0B",
46
+ }}
47
+ >
48
+ <Text
49
+ style={{
50
+ color: "#92400E",
51
+ fontSize: "14px",
52
+ fontWeight: "600",
53
+ margin: "0",
54
+ }}
55
+ >
56
+ Your trial ends in {daysRemaining} {dayText}
57
+ </Text>
58
+ </Section>
59
+
60
+ <Heading>Your Trial is Almost Over</Heading>
61
+ <Paragraph>
62
+ Hi {userName}, your free trial of Tracked ends on {trialEndDate}. To
63
+ keep your client data and continue using the coaching dashboard,
64
+ subscribe before your trial expires.
65
+ </Paragraph>
66
+
67
+ <FeatureBox title="What happens when your trial ends:">
68
+ <SmallText style={{ marginBottom: "4px" }}>
69
+ • You'll lose access to the coaching dashboard
70
+ </SmallText>
71
+ <SmallText style={{ marginBottom: "4px" }}>
72
+ • Your client data will be safely preserved
73
+ </SmallText>
74
+ <SmallText style={{ marginBottom: "4px" }}>
75
+ • Clients will still have access to their workouts
76
+ </SmallText>
77
+ <SmallText>• You can reactivate at any time to regain access</SmallText>
78
+ </FeatureBox>
79
+
80
+ <Section
81
+ style={{
82
+ backgroundColor: colors.surface,
83
+ padding: "20px 24px",
84
+ borderRadius: "8px",
85
+ margin: "24px 0",
86
+ borderLeft: `4px solid ${colors.accent}`,
87
+ }}
88
+ >
89
+ <Text
90
+ style={{
91
+ color: colors.accent,
92
+ fontSize: "18px",
93
+ fontWeight: "bold" as const,
94
+ marginBottom: "8px",
95
+ }}
96
+ >
97
+ Don't lose access
98
+ </Text>
99
+ <Text
100
+ style={{
101
+ color: colors.textSecondary,
102
+ fontSize: "14px",
103
+ lineHeight: "20px",
104
+ margin: "0 0 16px 0",
105
+ }}
106
+ >
107
+ Subscribe now to keep managing your clients without interruption.
108
+ Pricing starts at just a few dollars per month based on your client
109
+ count.
110
+ </Text>
111
+ <PrimaryButton href={upgradeUrl}>Subscribe Now</PrimaryButton>
112
+ </Section>
113
+
114
+ <Paragraph>
115
+ Have questions about pricing or need more time? Reply to this email or
116
+ reach out on Discord. We're happy to help.
117
+ </Paragraph>
118
+
119
+ <DiscordButton />
120
+
121
+ <EmailFooter websiteUrl={websiteUrl} />
122
+ </EmailLayout>
123
+ );
124
+ };
125
+
126
+ export default TrialEndingSoonEmail;
@@ -0,0 +1,96 @@
1
+ import * as React from "react";
2
+ import { Section, Text } from "@react-email/components";
3
+ import {
4
+ EmailLayout,
5
+ EmailHeader,
6
+ EmailFooter,
7
+ Heading,
8
+ Paragraph,
9
+ FeatureBox,
10
+ SmallText,
11
+ PrimaryButton,
12
+ DiscordButton,
13
+ colors,
14
+ } from "../components/index.js";
15
+
16
+ interface TrialExpiredEmailProps {
17
+ userName: string;
18
+ reactivateUrl: string;
19
+ websiteUrl?: string;
20
+ }
21
+
22
+ export const TrialExpiredEmail = ({
23
+ userName = "Coach",
24
+ reactivateUrl = "https://dashboard.tracked.gg/billing",
25
+ websiteUrl = "https://tracked.gg",
26
+ }: TrialExpiredEmailProps) => {
27
+ return (
28
+ <EmailLayout preview="Your Tracked trial has ended">
29
+ <EmailHeader />
30
+
31
+ <Heading>Your Trial Has Ended</Heading>
32
+ <Paragraph>
33
+ Hi {userName}, your free trial of Tracked has expired. Your access to
34
+ the coaching dashboard has been paused, but don't worry — your data is
35
+ safe.
36
+ </Paragraph>
37
+
38
+ <FeatureBox title="Your data is preserved:">
39
+ <SmallText style={{ marginBottom: "4px" }}>
40
+ • All client profiles and workout history are saved
41
+ </SmallText>
42
+ <SmallText style={{ marginBottom: "4px" }}>
43
+ • Your workout templates and programs are intact
44
+ </SmallText>
45
+ <SmallText style={{ marginBottom: "4px" }}>
46
+ • Client progress data remains accessible when you return
47
+ </SmallText>
48
+ <SmallText>• Subscribe anytime to regain full access</SmallText>
49
+ </FeatureBox>
50
+
51
+ <Section
52
+ style={{
53
+ backgroundColor: colors.surface,
54
+ padding: "20px 24px",
55
+ borderRadius: "8px",
56
+ margin: "24px 0",
57
+ borderLeft: `4px solid ${colors.accent}`,
58
+ }}
59
+ >
60
+ <Text
61
+ style={{
62
+ color: colors.accent,
63
+ fontSize: "18px",
64
+ fontWeight: "bold" as const,
65
+ marginBottom: "8px",
66
+ }}
67
+ >
68
+ Ready to continue?
69
+ </Text>
70
+ <Text
71
+ style={{
72
+ color: colors.textSecondary,
73
+ fontSize: "14px",
74
+ lineHeight: "20px",
75
+ margin: "0 0 16px 0",
76
+ }}
77
+ >
78
+ Reactivate your account to pick up right where you left off. Your
79
+ clients are waiting.
80
+ </Text>
81
+ <PrimaryButton href={reactivateUrl}>Reactivate Now</PrimaryButton>
82
+ </Section>
83
+
84
+ <Paragraph>
85
+ If you decided Tracked isn't for you right now, we'd love to hear why.
86
+ Your feedback helps us build a better product for coaches like you.
87
+ </Paragraph>
88
+
89
+ <DiscordButton />
90
+
91
+ <EmailFooter websiteUrl={websiteUrl} />
92
+ </EmailLayout>
93
+ );
94
+ };
95
+
96
+ export default TrialExpiredEmail;
@@ -0,0 +1,150 @@
1
+ import * as React from "react";
2
+ import { Section, Text } from "@react-email/components";
3
+ import {
4
+ EmailLayout,
5
+ EmailHeader,
6
+ EmailFooter,
7
+ Heading,
8
+ Paragraph,
9
+ FeatureBox,
10
+ SmallText,
11
+ PrimaryButton,
12
+ DiscordButton,
13
+ colors,
14
+ } from "../components/index.js";
15
+
16
+ interface TrialMidpointEmailProps {
17
+ userName: string;
18
+ daysRemaining: number;
19
+ trialEndDate: string;
20
+ clientsAdded: number;
21
+ upgradeUrl: string;
22
+ websiteUrl?: string;
23
+ }
24
+
25
+ export const TrialMidpointEmail = ({
26
+ userName = "Coach",
27
+ daysRemaining = 7,
28
+ trialEndDate = "January 29, 2025",
29
+ clientsAdded = 0,
30
+ upgradeUrl = "https://dashboard.tracked.gg/billing",
31
+ websiteUrl = "https://tracked.gg",
32
+ }: TrialMidpointEmailProps) => {
33
+ const hasClients = clientsAdded > 0;
34
+
35
+ return (
36
+ <EmailLayout preview={`${daysRemaining} days left in your Tracked trial`}>
37
+ <EmailHeader />
38
+
39
+ <Heading>You're Halfway Through Your Trial</Heading>
40
+
41
+ {hasClients ? (
42
+ <Paragraph>
43
+ Hi {userName}, you've added {clientsAdded}{" "}
44
+ {clientsAdded === 1 ? "client" : "clients"} to Tracked so far. You
45
+ have {daysRemaining} days left to explore everything the platform has
46
+ to offer before your trial ends on {trialEndDate}.
47
+ </Paragraph>
48
+ ) : (
49
+ <Paragraph>
50
+ Hi {userName}, you have {daysRemaining} days left in your free trial.
51
+ We noticed you haven't added any clients yet. Let us help you get
52
+ started.
53
+ </Paragraph>
54
+ )}
55
+
56
+ {!hasClients && (
57
+ <Section
58
+ style={{
59
+ backgroundColor: colors.surface,
60
+ padding: "16px 24px",
61
+ borderRadius: "8px",
62
+ margin: "24px 0",
63
+ borderLeft: `4px solid ${colors.accent}`,
64
+ }}
65
+ >
66
+ <Text
67
+ style={{
68
+ color: colors.accent,
69
+ fontSize: "14px",
70
+ fontWeight: "bold" as const,
71
+ marginBottom: "4px",
72
+ marginTop: "0",
73
+ }}
74
+ >
75
+ Quick Start Guide
76
+ </Text>
77
+ <SmallText style={{ marginBottom: "4px" }}>
78
+ 1. Add your first client from the dashboard
79
+ </SmallText>
80
+ <SmallText style={{ marginBottom: "4px" }}>
81
+ 2. Create a workout program or use a template
82
+ </SmallText>
83
+ <SmallText>3. Assign workouts and start tracking progress</SmallText>
84
+ </Section>
85
+ )}
86
+
87
+ <FeatureBox title="Features you might have missed:">
88
+ <SmallText style={{ marginBottom: "4px" }}>
89
+ • <strong>Workout Templates</strong> — Save time with reusable
90
+ programs
91
+ </SmallText>
92
+ <SmallText style={{ marginBottom: "4px" }}>
93
+ • <strong>Progress Photos</strong> — Track visual client
94
+ transformations
95
+ </SmallText>
96
+ <SmallText style={{ marginBottom: "4px" }}>
97
+ • <strong>Check-ins</strong> — Weekly accountability with your clients
98
+ </SmallText>
99
+ <SmallText>
100
+ • <strong>Analytics</strong> — See training trends and client
101
+ performance
102
+ </SmallText>
103
+ </FeatureBox>
104
+
105
+ <Section
106
+ style={{
107
+ backgroundColor: colors.surface,
108
+ padding: "20px 24px",
109
+ borderRadius: "8px",
110
+ margin: "24px 0",
111
+ borderLeft: `4px solid ${colors.accent}`,
112
+ }}
113
+ >
114
+ <Text
115
+ style={{
116
+ color: colors.accent,
117
+ fontSize: "16px",
118
+ fontWeight: "bold" as const,
119
+ marginBottom: "8px",
120
+ }}
121
+ >
122
+ Ready to upgrade?
123
+ </Text>
124
+ <Text
125
+ style={{
126
+ color: colors.textSecondary,
127
+ fontSize: "14px",
128
+ lineHeight: "20px",
129
+ margin: "0",
130
+ }}
131
+ >
132
+ Lock in your subscription now and never lose access to your client
133
+ data. Pricing is based on the number of active clients you manage.
134
+ </Text>
135
+ <PrimaryButton href={upgradeUrl}>View Pricing</PrimaryButton>
136
+ </Section>
137
+
138
+ <Paragraph>
139
+ Questions? Join our Discord community to connect with other coaches and
140
+ get tips on growing your coaching business.
141
+ </Paragraph>
142
+
143
+ <DiscordButton />
144
+
145
+ <EmailFooter websiteUrl={websiteUrl} />
146
+ </EmailLayout>
147
+ );
148
+ };
149
+
150
+ export default TrialMidpointEmail;
@@ -0,0 +1,75 @@
1
+ import * as React from "react";
2
+ import {
3
+ EmailLayout,
4
+ EmailHeader,
5
+ EmailFooter,
6
+ Heading,
7
+ Paragraph,
8
+ FeatureBox,
9
+ SmallText,
10
+ PrimaryButton,
11
+ DiscordButton,
12
+ } from "../components/index.js";
13
+
14
+ interface TrialStartedEmailProps {
15
+ userName: string;
16
+ trialEndDate: string;
17
+ daysRemaining: number;
18
+ upgradeUrl: string;
19
+ websiteUrl?: string;
20
+ }
21
+
22
+ export const TrialStartedEmail = ({
23
+ userName = "Coach",
24
+ trialEndDate = "January 29, 2025",
25
+ daysRemaining = 14,
26
+ upgradeUrl = "https://dashboard.tracked.gg/billing",
27
+ websiteUrl = "https://tracked.gg",
28
+ }: TrialStartedEmailProps) => {
29
+ return (
30
+ <EmailLayout preview="Welcome to your Tracked coaching trial">
31
+ <EmailHeader />
32
+
33
+ <Heading>Welcome to Your Free Trial</Heading>
34
+ <Paragraph>
35
+ Hi {userName}, your {daysRemaining}-day free trial of Tracked has
36
+ started. You have until {trialEndDate} to explore everything the
37
+ platform has to offer.
38
+ </Paragraph>
39
+
40
+ <FeatureBox title="What's included in your trial:">
41
+ <SmallText style={{ marginBottom: "4px" }}>
42
+ • Unlimited client management (up to 500 clients)
43
+ </SmallText>
44
+ <SmallText style={{ marginBottom: "4px" }}>
45
+ • Custom workout programming and templates
46
+ </SmallText>
47
+ <SmallText style={{ marginBottom: "4px" }}>
48
+ • Client progress tracking and analytics
49
+ </SmallText>
50
+ <SmallText style={{ marginBottom: "4px" }}>
51
+ • In-app messaging with clients
52
+ </SmallText>
53
+ <SmallText>• Full access to the coaching dashboard</SmallText>
54
+ </FeatureBox>
55
+
56
+ <Paragraph>
57
+ Ready to get started? Head to your dashboard to add your first clients
58
+ and start building your coaching business.
59
+ </Paragraph>
60
+
61
+ <PrimaryButton href={upgradeUrl}>Go to Dashboard</PrimaryButton>
62
+
63
+ <Paragraph style={{ marginTop: "24px" }}>
64
+ If you have any questions or need help getting set up, our team is here
65
+ for you. Join our Discord community to connect with other coaches.
66
+ </Paragraph>
67
+
68
+ <DiscordButton />
69
+
70
+ <EmailFooter websiteUrl={websiteUrl} />
71
+ </EmailLayout>
72
+ );
73
+ };
74
+
75
+ export default TrialStartedEmail;
package/src/index.ts CHANGED
@@ -16,6 +16,11 @@ import { NewFollowerEmail } from "./emails/new-follower.js";
16
16
  import { NpsSurveyEmail } from "./emails/nps-survey.js";
17
17
  import { SubscriptionCanceledEmail } from "./emails/subscription-canceled.js";
18
18
  import { SupportEmail } from "./emails/support-email.js";
19
+ import { TrialConvertedEmail } from "./emails/trial-converted.js";
20
+ import { TrialEndingSoonEmail } from "./emails/trial-ending-soon.js";
21
+ import { TrialExpiredEmail } from "./emails/trial-expired.js";
22
+ import { TrialMidpointEmail } from "./emails/trial-midpoint.js";
23
+ import { TrialStartedEmail } from "./emails/trial-started.js";
19
24
  import { TeamInviteEmail } from "./emails/team-invite.js";
20
25
  import { TeamMemberRemovedEmail } from "./emails/team-member-removed-email.js";
21
26
  import { TrackedMagicLink } from "./emails/tracked-magic-link.js";
@@ -58,6 +63,11 @@ export {
58
63
  TeamMemberRemovedEmail,
59
64
  TrackedMagicLink,
60
65
  TrackedMagicLinkActivate,
66
+ TrialConvertedEmail,
67
+ TrialEndingSoonEmail,
68
+ TrialExpiredEmail,
69
+ TrialMidpointEmail,
70
+ TrialStartedEmail,
61
71
  WeeklyProgressDigestEmail,
62
72
  WeekOneCheckinEmail,
63
73
  WelcomeEmail,