@tracked/emails 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +211 -0
- package/dist/emails/bodyweight-goal-reached.d.ts +14 -0
- package/dist/emails/bodyweight-goal-reached.d.ts.map +1 -0
- package/dist/emails/bodyweight-goal-reached.js +177 -0
- package/dist/emails/bodyweight-goal-reached.js.map +1 -0
- package/dist/emails/client-accepted-invitation.d.ts +10 -0
- package/dist/emails/client-accepted-invitation.d.ts.map +1 -0
- package/dist/emails/client-accepted-invitation.js +99 -0
- package/dist/emails/client-accepted-invitation.js.map +1 -0
- package/dist/emails/coach-invite.d.ts +10 -0
- package/dist/emails/coach-invite.d.ts.map +1 -0
- package/dist/emails/coach-invite.js +126 -0
- package/dist/emails/coach-invite.js.map +1 -0
- package/dist/emails/coach-removed-client.d.ts +8 -0
- package/dist/emails/coach-removed-client.d.ts.map +1 -0
- package/dist/emails/coach-removed-client.js +80 -0
- package/dist/emails/coach-removed-client.js.map +1 -0
- package/dist/emails/direct-message.d.ts +11 -0
- package/dist/emails/direct-message.d.ts.map +1 -0
- package/dist/emails/direct-message.js +103 -0
- package/dist/emails/direct-message.js.map +1 -0
- package/dist/emails/feature-discovery.d.ts +11 -0
- package/dist/emails/feature-discovery.d.ts.map +1 -0
- package/dist/emails/feature-discovery.js +121 -0
- package/dist/emails/feature-discovery.js.map +1 -0
- package/dist/emails/first-workout-assigned.d.ts +10 -0
- package/dist/emails/first-workout-assigned.d.ts.map +1 -0
- package/dist/emails/first-workout-assigned.js +98 -0
- package/dist/emails/first-workout-assigned.js.map +1 -0
- package/dist/emails/first-workout-completed.d.ts +11 -0
- package/dist/emails/first-workout-completed.d.ts.map +1 -0
- package/dist/emails/first-workout-completed.js +129 -0
- package/dist/emails/first-workout-completed.js.map +1 -0
- package/dist/emails/index.d.ts +7 -0
- package/dist/emails/index.d.ts.map +1 -0
- package/dist/emails/index.js +7 -0
- package/dist/emails/index.js.map +1 -0
- package/dist/emails/new-follower.d.ts +11 -0
- package/dist/emails/new-follower.d.ts.map +1 -0
- package/dist/emails/new-follower.js +98 -0
- package/dist/emails/new-follower.js.map +1 -0
- package/dist/emails/subscription-canceled.d.ts +10 -0
- package/dist/emails/subscription-canceled.d.ts.map +1 -0
- package/dist/emails/subscription-canceled.js +131 -0
- package/dist/emails/subscription-canceled.js.map +1 -0
- package/dist/emails/support-email.d.ts +8 -0
- package/dist/emails/support-email.d.ts.map +1 -0
- package/dist/emails/support-email.js +40 -0
- package/dist/emails/support-email.js.map +1 -0
- package/dist/emails/team-invite.d.ts +11 -0
- package/dist/emails/team-invite.d.ts.map +1 -0
- package/dist/emails/team-invite.js +100 -0
- package/dist/emails/team-invite.js.map +1 -0
- package/dist/emails/team-member-removed-email.d.ts +8 -0
- package/dist/emails/team-member-removed-email.d.ts.map +1 -0
- package/dist/emails/team-member-removed-email.js +97 -0
- package/dist/emails/team-member-removed-email.js.map +1 -0
- package/dist/emails/tracked-magic-link-activate.d.ts +7 -0
- package/dist/emails/tracked-magic-link-activate.d.ts.map +1 -0
- package/dist/emails/tracked-magic-link-activate.js +93 -0
- package/dist/emails/tracked-magic-link-activate.js.map +1 -0
- package/dist/emails/tracked-magic-link.d.ts +7 -0
- package/dist/emails/tracked-magic-link.d.ts.map +1 -0
- package/dist/emails/tracked-magic-link.js +101 -0
- package/dist/emails/tracked-magic-link.js.map +1 -0
- package/dist/emails/week-one-checkin.d.ts +10 -0
- package/dist/emails/week-one-checkin.d.ts.map +1 -0
- package/dist/emails/week-one-checkin.js +141 -0
- package/dist/emails/week-one-checkin.js.map +1 -0
- package/dist/emails/welcome.d.ts +8 -0
- package/dist/emails/welcome.d.ts.map +1 -0
- package/dist/emails/welcome.js +146 -0
- package/dist/emails/welcome.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/email-validation.d.ts +48 -0
- package/dist/utils/email-validation.d.ts.map +1 -0
- package/dist/utils/email-validation.js +72 -0
- package/dist/utils/email-validation.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/username-validation.d.ts +54 -0
- package/dist/utils/username-validation.d.ts.map +1 -0
- package/dist/utils/username-validation.js +76 -0
- package/dist/utils/username-validation.js.map +1 -0
- package/package.json +78 -0
- package/src/emails/bodyweight-goal-reached.tsx +396 -0
- package/src/emails/client-accepted-invitation.tsx +258 -0
- package/src/emails/coach-invite.tsx +270 -0
- package/src/emails/coach-removed-client.tsx +212 -0
- package/src/emails/direct-message.tsx +249 -0
- package/src/emails/feature-discovery.tsx +289 -0
- package/src/emails/first-workout-assigned.tsx +255 -0
- package/src/emails/first-workout-completed.tsx +312 -0
- package/src/emails/index.tsx +6 -0
- package/src/emails/new-follower.tsx +260 -0
- package/src/emails/subscription-canceled.tsx +311 -0
- package/src/emails/support-email.tsx +80 -0
- package/src/emails/team-invite.tsx +262 -0
- package/src/emails/team-member-removed-email.tsx +240 -0
- package/src/emails/tracked-magic-link-activate.tsx +252 -0
- package/src/emails/tracked-magic-link.tsx +264 -0
- package/src/emails/week-one-checkin.tsx +353 -0
- package/src/emails/welcome.tsx +341 -0
- package/src/index.ts +57 -0
- package/src/utils/email-validation.test.ts +78 -0
- package/src/utils/email-validation.ts +80 -0
- package/src/utils/index.ts +13 -0
- package/src/utils/username-validation.test.ts +118 -0
- package/src/utils/username-validation.ts +89 -0
- package/static/tracked-logo.png +0 -0
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import {
|
|
3
|
+
Body,
|
|
4
|
+
Button,
|
|
5
|
+
Column,
|
|
6
|
+
Container,
|
|
7
|
+
Head,
|
|
8
|
+
Heading,
|
|
9
|
+
Hr,
|
|
10
|
+
Html,
|
|
11
|
+
Img,
|
|
12
|
+
Link,
|
|
13
|
+
Preview,
|
|
14
|
+
Row,
|
|
15
|
+
Section,
|
|
16
|
+
Tailwind,
|
|
17
|
+
Text,
|
|
18
|
+
} from "@react-email/components";
|
|
19
|
+
|
|
20
|
+
interface TeamMemberRemovedEmailProps {
|
|
21
|
+
teamName?: string;
|
|
22
|
+
websiteUrl?: string;
|
|
23
|
+
teamImage?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const baseUrl = "https://tracked.gg/android-chrome-192x192.png";
|
|
27
|
+
|
|
28
|
+
export const TeamMemberRemovedEmail = ({
|
|
29
|
+
teamName = "Team Tracked Training",
|
|
30
|
+
websiteUrl = "https://www.tracked.training",
|
|
31
|
+
teamImage,
|
|
32
|
+
}: TeamMemberRemovedEmailProps) => {
|
|
33
|
+
return (
|
|
34
|
+
<Html>
|
|
35
|
+
<Head />
|
|
36
|
+
<Preview>Removed from the team</Preview>
|
|
37
|
+
<Body style={main}>
|
|
38
|
+
<Container style={container}>
|
|
39
|
+
<Section style={box}>
|
|
40
|
+
<Img src={`${baseUrl}`} width="40" height="40" alt="Tracked" />
|
|
41
|
+
<Hr style={hr} />
|
|
42
|
+
<Text style={heading}>Team membership revoked</Text>
|
|
43
|
+
<Text style={paragraph}>
|
|
44
|
+
The team owner has removed you from the team. If you believe this
|
|
45
|
+
was a mistake, please contact the team owner.
|
|
46
|
+
</Text>
|
|
47
|
+
|
|
48
|
+
<Text style={{ ...paragraph }}>
|
|
49
|
+
If this email was not expected, please ignore it. You can learn
|
|
50
|
+
more about the Tracked Training Platform by visiting our{" "}
|
|
51
|
+
<Link style={anchor} href={websiteUrl}>
|
|
52
|
+
website
|
|
53
|
+
</Link>
|
|
54
|
+
.
|
|
55
|
+
</Text>
|
|
56
|
+
|
|
57
|
+
<Row style={row}>
|
|
58
|
+
<Column style={column}>
|
|
59
|
+
<Button
|
|
60
|
+
style={appButton}
|
|
61
|
+
href="https://apps.apple.com/app/tracked-training/id6450913418"
|
|
62
|
+
>
|
|
63
|
+
<Img
|
|
64
|
+
src="https://cdn.trckd.ca/assets/app-store-black.png"
|
|
65
|
+
alt="Download on the App Store"
|
|
66
|
+
style={img}
|
|
67
|
+
/>
|
|
68
|
+
</Button>
|
|
69
|
+
</Column>
|
|
70
|
+
<Column style={column}>
|
|
71
|
+
<Button
|
|
72
|
+
style={appButton}
|
|
73
|
+
href="https://play.google.com/store/apps/details?id=com.tracked.mobile"
|
|
74
|
+
>
|
|
75
|
+
<Img
|
|
76
|
+
src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"
|
|
77
|
+
alt="Google Play"
|
|
78
|
+
style={img}
|
|
79
|
+
/>
|
|
80
|
+
</Button>
|
|
81
|
+
</Column>
|
|
82
|
+
</Row>
|
|
83
|
+
|
|
84
|
+
<div
|
|
85
|
+
style={{
|
|
86
|
+
textAlign: "left" as const,
|
|
87
|
+
margin: "24px 0",
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
<a
|
|
91
|
+
href="https://www.discord.gg/trackedgg"
|
|
92
|
+
style={{
|
|
93
|
+
backgroundColor: "#5865F2",
|
|
94
|
+
borderRadius: "8px",
|
|
95
|
+
fontSize: "16px",
|
|
96
|
+
fontWeight: "bold",
|
|
97
|
+
textDecoration: "none",
|
|
98
|
+
padding: "12px 32px",
|
|
99
|
+
display: "inline-block",
|
|
100
|
+
}}
|
|
101
|
+
>
|
|
102
|
+
<span style={{ color: "#ffffff", textDecoration: "none" }}>
|
|
103
|
+
Join our Discord Community
|
|
104
|
+
</span>
|
|
105
|
+
</a>
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<Hr style={hr} />
|
|
109
|
+
<Text style={footer}>
|
|
110
|
+
Copyright © Tracked Training Platform Inc. <br /> 9101 Horne
|
|
111
|
+
Street, Vancouver, BC
|
|
112
|
+
</Text>
|
|
113
|
+
|
|
114
|
+
<Container>
|
|
115
|
+
<Link
|
|
116
|
+
href="https://tracked.gg/terms"
|
|
117
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
118
|
+
>
|
|
119
|
+
Terms
|
|
120
|
+
</Link>
|
|
121
|
+
<Link style={{ ...footer, paddingRight: 10 }}> | </Link>
|
|
122
|
+
<Link
|
|
123
|
+
href="https://tracked.gg/privacy"
|
|
124
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
125
|
+
>
|
|
126
|
+
Privacy
|
|
127
|
+
</Link>
|
|
128
|
+
<Link style={{ ...footer, paddingRight: 10 }}> | </Link>
|
|
129
|
+
<Link
|
|
130
|
+
href="https://tracked.gg/support"
|
|
131
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
132
|
+
>
|
|
133
|
+
Support
|
|
134
|
+
</Link>
|
|
135
|
+
</Container>
|
|
136
|
+
|
|
137
|
+
<Text style={footer}>
|
|
138
|
+
This is a service notification by the Tracked Training Platform.
|
|
139
|
+
</Text>
|
|
140
|
+
</Section>
|
|
141
|
+
</Container>
|
|
142
|
+
</Body>
|
|
143
|
+
</Html>
|
|
144
|
+
);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export default TeamMemberRemovedEmail;
|
|
148
|
+
|
|
149
|
+
const main = {
|
|
150
|
+
backgroundColor: "#1e293b",
|
|
151
|
+
fontFamily:
|
|
152
|
+
'-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,sans-serif',
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const container = {
|
|
156
|
+
backgroundColor: "#0f172a",
|
|
157
|
+
margin: "0 auto",
|
|
158
|
+
padding: "20px 0 48px",
|
|
159
|
+
marginBottom: "64px",
|
|
160
|
+
borderRadius: "5px",
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
const box = {
|
|
164
|
+
padding: "0 48px",
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
const row = {
|
|
168
|
+
display: "flex",
|
|
169
|
+
flexDirection: "row" as const,
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
const column = {
|
|
173
|
+
flex: "0 0 48%",
|
|
174
|
+
"@media (maxWidth: 600px)": {
|
|
175
|
+
flex: "0 0 100%",
|
|
176
|
+
marginBottom: "10px",
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const img = {
|
|
181
|
+
maxWidth: "100%",
|
|
182
|
+
height: "auto",
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
const appButton = {
|
|
186
|
+
backgroundColor: "transparent",
|
|
187
|
+
borderRadius: "5px",
|
|
188
|
+
color: "#ffffff",
|
|
189
|
+
fontSize: "16px",
|
|
190
|
+
fontWeight: "bold",
|
|
191
|
+
textDecoration: "none",
|
|
192
|
+
textAlign: "center" as const,
|
|
193
|
+
display: "block",
|
|
194
|
+
width: "100%",
|
|
195
|
+
maxWidth: "150px",
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const hr = {
|
|
199
|
+
borderColor: "#475569",
|
|
200
|
+
margin: "20px 0",
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
const paragraph = {
|
|
204
|
+
color: "#e2e8f0",
|
|
205
|
+
|
|
206
|
+
fontSize: "16px",
|
|
207
|
+
lineHeight: "24px",
|
|
208
|
+
textAlign: "left" as const,
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
const heading = {
|
|
212
|
+
color: "#e2e8f0",
|
|
213
|
+
fontSize: "24px",
|
|
214
|
+
lineHeight: "32px",
|
|
215
|
+
fontWeight: "bold",
|
|
216
|
+
textAlign: "left" as const,
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
const anchor = {
|
|
220
|
+
color: "#4ade80",
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
const button = {
|
|
224
|
+
backgroundColor: "#4ade80",
|
|
225
|
+
borderRadius: "5px",
|
|
226
|
+
color: "#0f172a",
|
|
227
|
+
fontSize: "16px",
|
|
228
|
+
fontWeight: "bold",
|
|
229
|
+
textDecoration: "none",
|
|
230
|
+
textAlign: "center" as const,
|
|
231
|
+
display: "block",
|
|
232
|
+
width: "100%",
|
|
233
|
+
padding: "16px 0",
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
const footer = {
|
|
237
|
+
color: "#8898aa",
|
|
238
|
+
fontSize: "12px",
|
|
239
|
+
lineHeight: "16px",
|
|
240
|
+
};
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import {
|
|
3
|
+
Body,
|
|
4
|
+
Button,
|
|
5
|
+
Column,
|
|
6
|
+
Container,
|
|
7
|
+
Head,
|
|
8
|
+
Hr,
|
|
9
|
+
Html,
|
|
10
|
+
Img,
|
|
11
|
+
Link,
|
|
12
|
+
Preview,
|
|
13
|
+
Row,
|
|
14
|
+
Section,
|
|
15
|
+
Text,
|
|
16
|
+
} from "@react-email/components";
|
|
17
|
+
|
|
18
|
+
interface Props {
|
|
19
|
+
activateButtonLink: string;
|
|
20
|
+
websiteUrl: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const baseUrl = "https://tracked.gg/android-chrome-192x192.png";
|
|
24
|
+
|
|
25
|
+
export const TrackedMagicLinkActivate = ({
|
|
26
|
+
activateButtonLink,
|
|
27
|
+
websiteUrl,
|
|
28
|
+
}: Props) => (
|
|
29
|
+
<Html>
|
|
30
|
+
<Head>
|
|
31
|
+
<meta name="color-scheme" content="light only" />
|
|
32
|
+
<meta name="supported-color-schemes" content="light only" />
|
|
33
|
+
</Head>
|
|
34
|
+
<Preview>
|
|
35
|
+
New activation requested for Tracked - The gym tracking platform
|
|
36
|
+
</Preview>
|
|
37
|
+
<Body style={main}>
|
|
38
|
+
<Container style={container}>
|
|
39
|
+
<Section style={box}>
|
|
40
|
+
<Row style={{ marginBottom: "8px" }}>
|
|
41
|
+
<Column style={{ width: "auto", verticalAlign: "middle" }}>
|
|
42
|
+
<Img src={`${baseUrl}`} width="28" height="28" alt="Tracked" />
|
|
43
|
+
</Column>
|
|
44
|
+
<Column style={{ width: "auto", verticalAlign: "middle", paddingLeft: "4px" }}>
|
|
45
|
+
<Text style={{
|
|
46
|
+
fontSize: "28px",
|
|
47
|
+
fontWeight: "900",
|
|
48
|
+
fontFamily: "Raleway, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif",
|
|
49
|
+
color: "#020617",
|
|
50
|
+
margin: "0",
|
|
51
|
+
lineHeight: "32px",
|
|
52
|
+
letterSpacing: "0.5px",
|
|
53
|
+
}}>
|
|
54
|
+
TRACKED
|
|
55
|
+
</Text>
|
|
56
|
+
</Column>
|
|
57
|
+
</Row>
|
|
58
|
+
<Hr style={hr} />
|
|
59
|
+
<Text style={paragraph}>Welcome to Tracked!</Text>
|
|
60
|
+
<Text style={paragraph}>
|
|
61
|
+
Press the button below to confirm your Tracked account email. You
|
|
62
|
+
will be redirected to the app.
|
|
63
|
+
</Text>
|
|
64
|
+
<div style={{ marginTop: "24px", marginBottom: "24px", textAlign: "left" as const }}>
|
|
65
|
+
<a
|
|
66
|
+
href={activateButtonLink}
|
|
67
|
+
style={{
|
|
68
|
+
backgroundColor: "#0f172a",
|
|
69
|
+
borderRadius: "8px",
|
|
70
|
+
fontSize: "16px",
|
|
71
|
+
fontWeight: "bold",
|
|
72
|
+
textDecoration: "none",
|
|
73
|
+
padding: "12px 32px",
|
|
74
|
+
display: "inline-block",
|
|
75
|
+
}}
|
|
76
|
+
>
|
|
77
|
+
<span style={{ color: "#ffffff", textDecoration: "none" }}>
|
|
78
|
+
Confirm Email
|
|
79
|
+
</span>
|
|
80
|
+
</a>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<Text style={{ ...paragraph }}>
|
|
84
|
+
If this email was not expected, please ignore it. You can learn more
|
|
85
|
+
about the Tracked Training Platform by visiting our{" "}
|
|
86
|
+
<Link style={anchor} href={websiteUrl}>
|
|
87
|
+
website
|
|
88
|
+
</Link>
|
|
89
|
+
.
|
|
90
|
+
</Text>
|
|
91
|
+
|
|
92
|
+
<Row style={row}>
|
|
93
|
+
<Column style={column}>
|
|
94
|
+
<Button
|
|
95
|
+
style={appButton}
|
|
96
|
+
href="https://apps.apple.com/app/tracked-training/id6450913418"
|
|
97
|
+
>
|
|
98
|
+
<Img
|
|
99
|
+
src="https://cdn.trckd.ca/assets/app-store-black.png"
|
|
100
|
+
alt="Download on the App Store"
|
|
101
|
+
style={img}
|
|
102
|
+
/>
|
|
103
|
+
</Button>
|
|
104
|
+
</Column>
|
|
105
|
+
<Column style={column}>
|
|
106
|
+
<Button
|
|
107
|
+
style={appButton}
|
|
108
|
+
href="https://play.google.com/store/apps/details?id=com.tracked.mobile"
|
|
109
|
+
>
|
|
110
|
+
<Img
|
|
111
|
+
src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"
|
|
112
|
+
alt="Google Play"
|
|
113
|
+
style={img}
|
|
114
|
+
/>
|
|
115
|
+
</Button>
|
|
116
|
+
</Column>
|
|
117
|
+
</Row>
|
|
118
|
+
|
|
119
|
+
<div
|
|
120
|
+
style={{
|
|
121
|
+
textAlign: "left" as const,
|
|
122
|
+
margin: "24px 0",
|
|
123
|
+
}}
|
|
124
|
+
>
|
|
125
|
+
<a
|
|
126
|
+
href="https://www.discord.gg/trackedgg"
|
|
127
|
+
style={{
|
|
128
|
+
backgroundColor: "#5865F2",
|
|
129
|
+
borderRadius: "8px",
|
|
130
|
+
fontSize: "16px",
|
|
131
|
+
fontWeight: "bold",
|
|
132
|
+
textDecoration: "none",
|
|
133
|
+
padding: "12px 32px",
|
|
134
|
+
display: "inline-block",
|
|
135
|
+
}}
|
|
136
|
+
>
|
|
137
|
+
<span style={{ color: "#ffffff", textDecoration: "none" }}>
|
|
138
|
+
Join our Discord Community
|
|
139
|
+
</span>
|
|
140
|
+
</a>
|
|
141
|
+
</div>
|
|
142
|
+
|
|
143
|
+
<Hr style={hr} />
|
|
144
|
+
<Text style={footer}>
|
|
145
|
+
Copyright © Tracked Training Platform Inc. <br /> 9101 Horne
|
|
146
|
+
Street, Vancouver, BC
|
|
147
|
+
</Text>
|
|
148
|
+
|
|
149
|
+
<Container>
|
|
150
|
+
<Link
|
|
151
|
+
href="https://tracked.gg/terms"
|
|
152
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
153
|
+
>
|
|
154
|
+
Terms
|
|
155
|
+
</Link>
|
|
156
|
+
<Link style={{ ...footer, paddingRight: 10 }}> | </Link>
|
|
157
|
+
<Link
|
|
158
|
+
href="https://tracked.gg/privacy"
|
|
159
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
160
|
+
>
|
|
161
|
+
Privacy
|
|
162
|
+
</Link>
|
|
163
|
+
<Link style={{ ...footer, paddingRight: 10 }}> | </Link>
|
|
164
|
+
<Link
|
|
165
|
+
href="https://tracked.gg/support"
|
|
166
|
+
style={{ ...footer, paddingRight: 10 }}
|
|
167
|
+
>
|
|
168
|
+
Support
|
|
169
|
+
</Link>
|
|
170
|
+
</Container>
|
|
171
|
+
|
|
172
|
+
<Text style={footer}>
|
|
173
|
+
This is a service notification by the Tracked Training Platform.
|
|
174
|
+
</Text>
|
|
175
|
+
</Section>
|
|
176
|
+
</Container>
|
|
177
|
+
</Body>
|
|
178
|
+
</Html>
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
const main = {
|
|
182
|
+
backgroundColor: "#020617", // slate-950
|
|
183
|
+
fontFamily:
|
|
184
|
+
'-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Ubuntu,sans-serif',
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
const container = {
|
|
188
|
+
backgroundColor: "#020617", // slate-950
|
|
189
|
+
margin: "0 auto",
|
|
190
|
+
padding: "20px 0 48px",
|
|
191
|
+
marginBottom: "64px",
|
|
192
|
+
borderRadius: "8px",
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const box = {
|
|
196
|
+
padding: "0 24px",
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
const hr = {
|
|
200
|
+
borderColor: "#4ade80", // green-400
|
|
201
|
+
margin: "24px 0",
|
|
202
|
+
borderWidth: "1px",
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
const anchor = {
|
|
206
|
+
color: "#4ade80", // green-400
|
|
207
|
+
textDecoration: "underline",
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
const paragraph = {
|
|
211
|
+
color: "#ffffff", // white
|
|
212
|
+
fontSize: "16px",
|
|
213
|
+
lineHeight: "24px",
|
|
214
|
+
textAlign: "left" as const,
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
const row = {
|
|
218
|
+
display: "flex",
|
|
219
|
+
flexDirection: "row" as const,
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
const column = {
|
|
223
|
+
flex: "0 0 48%",
|
|
224
|
+
"@media (maxWidth: 600px)": {
|
|
225
|
+
flex: "0 0 100%",
|
|
226
|
+
marginBottom: "10px",
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
const img = {
|
|
231
|
+
maxWidth: "100%",
|
|
232
|
+
height: "auto",
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
const appButton = {
|
|
236
|
+
backgroundColor: "transparent",
|
|
237
|
+
borderRadius: "8px",
|
|
238
|
+
color: "#ffffff", // white
|
|
239
|
+
fontSize: "16px",
|
|
240
|
+
fontWeight: "bold",
|
|
241
|
+
textDecoration: "none",
|
|
242
|
+
textAlign: "center" as const,
|
|
243
|
+
display: "block",
|
|
244
|
+
width: "100%",
|
|
245
|
+
maxWidth: "150px",
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
const footer = {
|
|
249
|
+
color: "#94a3b8", // slate-400 for subtle footer text
|
|
250
|
+
fontSize: "12px",
|
|
251
|
+
lineHeight: "16px",
|
|
252
|
+
};
|