mirror of
https://github.com/lukevella/rallly.git
synced 2025-04-29 02:06:34 +02:00
update email templates and subjects
This commit is contained in:
parent
ae6da78c62
commit
ee120a04ff
14 changed files with 87 additions and 68 deletions
|
@ -96,7 +96,7 @@ const providers: Provider[] = [
|
|||
if (user) {
|
||||
await emailClient.sendTemplate("LoginEmail", {
|
||||
to: email,
|
||||
subject: `${token} is your 6-digit code`,
|
||||
subject: `${token} ist Dein sechsstelliger Eingabecode`,
|
||||
props: {
|
||||
name: user.name,
|
||||
magicLink: absoluteUrl("/auth/login", {
|
||||
|
|
|
@ -235,7 +235,7 @@ export const polls = router({
|
|||
waitUntil(
|
||||
ctx.emailClient.sendTemplate("NewPollEmail", {
|
||||
to: user.email,
|
||||
subject: `Let's find a date for ${poll.title}`,
|
||||
subject: `Lasst uns einen Termin finden für ${poll.title}`,
|
||||
props: {
|
||||
title: poll.title,
|
||||
name: user.name,
|
||||
|
@ -914,7 +914,7 @@ export const polls = router({
|
|||
|
||||
const emailToHost = waitUntil(
|
||||
ctx.emailClient.sendTemplate("FinalizeHostEmail", {
|
||||
subject: `Date booked for ${poll.title}`,
|
||||
subject: `Termin gefunden für ${poll.title}`,
|
||||
to: poll.user.email,
|
||||
props: {
|
||||
name: poll.user.name,
|
||||
|
@ -939,7 +939,7 @@ export const polls = router({
|
|||
|
||||
const emailsToParticipants = participantsToEmail.map((p) => {
|
||||
return ctx.emailClient.sendTemplate("FinalizeParticipantEmail", {
|
||||
subject: `Date booked for ${poll.title}`,
|
||||
subject: `Termin gefunden für ${poll.title}`,
|
||||
to: p.email,
|
||||
props: {
|
||||
name: p.name,
|
||||
|
|
|
@ -82,7 +82,7 @@ export const comments = router({
|
|||
emailsToSend.push(
|
||||
ctx.emailClient.sendTemplate("NewCommentEmail", {
|
||||
to: email,
|
||||
subject: `${authorName} has commented on ${poll.title}`,
|
||||
subject: `${authorName} hat ${poll.title} kommentiert`,
|
||||
props: {
|
||||
name: watcher.user.name,
|
||||
authorName,
|
||||
|
|
|
@ -125,7 +125,7 @@ export const participants = router({
|
|||
emailsToSend.push(
|
||||
ctx.emailClient.sendTemplate("NewParticipantConfirmationEmail", {
|
||||
to: email,
|
||||
subject: `Thanks for responding to ${poll.title}`,
|
||||
subject: `Danke für Deine Beteiligung an ${poll.title}`,
|
||||
props: {
|
||||
name,
|
||||
title: poll.title,
|
||||
|
@ -162,7 +162,7 @@ export const participants = router({
|
|||
emailsToSend.push(
|
||||
ctx.emailClient.sendTemplate("NewParticipantEmail", {
|
||||
to: email,
|
||||
subject: `${participant.name} has responded to ${poll.title}`,
|
||||
subject: `${participant.name} hat in ${poll.title} geantwortet`,
|
||||
props: {
|
||||
name: watcher.user.name,
|
||||
participantName: participant.name,
|
||||
|
|
|
@ -60,7 +60,7 @@ export const EmailLayout = ({
|
|||
<Container style={containerStyles}>
|
||||
<Img src={logoUrl} alt="Rallly" width={128} />
|
||||
<Section style={sectionStyles}>
|
||||
{recipientName ? <Text>Hi {recipientName},</Text> : null}
|
||||
{recipientName ? <Text>Hallo {recipientName},</Text> : null}
|
||||
{children}
|
||||
{footNote ? (
|
||||
<Text
|
||||
|
@ -81,19 +81,29 @@ export const EmailLayout = ({
|
|||
Home
|
||||
</Link>
|
||||
<span> • </span>
|
||||
<Link style={linkStyles} href="https://twitter.com/ralllyco">
|
||||
Twitter
|
||||
</Link>
|
||||
<span> • </span>
|
||||
<Link style={linkStyles} href="https://github.com/lukevella/rallly">
|
||||
Github
|
||||
<Link
|
||||
style={linkStyles}
|
||||
href="https://www.gruene.de/service/impressum"
|
||||
>
|
||||
Impressum
|
||||
</Link>
|
||||
<span> • </span>
|
||||
<Link
|
||||
style={linkStyles}
|
||||
href={`mailto:${process.env["SUPPORT_EMAIL"]}`}
|
||||
href="https://www.gruene.de/service/datenschutz"
|
||||
>
|
||||
Contact
|
||||
Datenschutz
|
||||
</Link>
|
||||
<span> • </span>
|
||||
<Link
|
||||
style={linkStyles}
|
||||
href="https://netz.gruene.de/de/wissenswerk/2024-08/die-neue-termite"
|
||||
>
|
||||
Hilfe
|
||||
</Link>
|
||||
<span> • </span>
|
||||
<Link style={linkStyles} href="https://rallly.co">
|
||||
Diese Anwendung basiert auf Rallly
|
||||
</Link>
|
||||
</Section>
|
||||
</Container>
|
||||
|
|
|
@ -29,9 +29,10 @@ export const NotificationEmail = ({
|
|||
recipientName={name}
|
||||
footNote={
|
||||
<>
|
||||
If you would like to stop receiving updates you can{" "}
|
||||
Wenn Du nicht mehr über Neuigkeiten informiert werden möchtest, kannst
|
||||
Du die Benachrichtigungen in den Einstellungen{" "}
|
||||
<Link className="whitespace-nowrap" href={disableNotificationsUrl}>
|
||||
turn notifications off
|
||||
deaktivieren
|
||||
</Link>
|
||||
.
|
||||
</>
|
||||
|
@ -40,7 +41,7 @@ export const NotificationEmail = ({
|
|||
>
|
||||
{children}
|
||||
<Text>
|
||||
<Button href={pollUrl}>View on {domain}</Button>
|
||||
<Button href={pollUrl}>Du findest die Umfrage unter {domain}</Button>
|
||||
</Text>
|
||||
</EmailLayout>
|
||||
);
|
||||
|
|
|
@ -30,7 +30,7 @@ export const FinalizeHostEmail = ({
|
|||
return (
|
||||
<EmailLayout ctx={ctx} recipientName={name} preview="Final date booked!">
|
||||
<Text>
|
||||
<strong>{title}</strong> has been booked for:
|
||||
Es wurde ein Termin vereinbart für <strong>{title}</strong>:
|
||||
</Text>
|
||||
<Section>
|
||||
<Row>
|
||||
|
@ -71,10 +71,11 @@ export const FinalizeHostEmail = ({
|
|||
</Row>
|
||||
</Section>
|
||||
<Text>
|
||||
We've notified participants and sent them calendar invites.
|
||||
Wir haben die Teilnehmer*innen benachrichtigt und ihnen
|
||||
Kalendereinladungen zugeschickt.
|
||||
</Text>
|
||||
<Text>
|
||||
<Button href={pollUrl}>View Event</Button>
|
||||
<Button href={pollUrl}>Termin anzeigen</Button>
|
||||
</Text>
|
||||
</EmailLayout>
|
||||
);
|
||||
|
|
|
@ -32,8 +32,8 @@ export const FinalizeParticipantEmail = ({
|
|||
return (
|
||||
<EmailLayout ctx={ctx} recipientName={name} preview="Final date booked!">
|
||||
<Text>
|
||||
<strong>{hostName}</strong> has booked <strong>{title}</strong> for the
|
||||
following date:
|
||||
<strong>{hostName}</strong> hat für <strong>{title}</strong> folgendes
|
||||
Datum festgelegt:
|
||||
</Text>
|
||||
<Section>
|
||||
<Row>
|
||||
|
@ -73,9 +73,9 @@ export const FinalizeParticipantEmail = ({
|
|||
</Column>
|
||||
</Row>
|
||||
</Section>
|
||||
<Text>Please find attached a calendar invite for this event.</Text>
|
||||
<Text>Anbei findest Du die Kalendereinladung für diesen Termin.</Text>
|
||||
<Text>
|
||||
<Button href={pollUrl}>View Event</Button>
|
||||
<Button href={pollUrl}>Termin anzeigen</Button>
|
||||
</Text>
|
||||
</EmailLayout>
|
||||
);
|
||||
|
|
|
@ -27,32 +27,37 @@ export const LoginEmail = ({
|
|||
ctx={ctx}
|
||||
footNote={
|
||||
<>
|
||||
You're receiving this email because a request was made to login
|
||||
to <Domain ctx={ctx} />. If this wasn't you, let us know by
|
||||
replying to this email.
|
||||
Du hast diese E-Mail erhalten, da ein Login-Versuch bei{" "}
|
||||
<Domain ctx={ctx} /> stattgefunden hat. Wenn Du das nicht warst, lass
|
||||
es uns bitte wissen und antworte auf diese E-Mail.
|
||||
</>
|
||||
}
|
||||
recipientName={name}
|
||||
preview="Use this link to log in on this device."
|
||||
>
|
||||
<Text>
|
||||
To log in to your account, please choose one of the following options:
|
||||
um Dich in Deinen Account einzuloggen, wähle bitte eine der folgenden
|
||||
Optionen:
|
||||
</Text>
|
||||
<Card>
|
||||
<Heading>Option 1: Magic Link</Heading>
|
||||
<Text>Click this magic link to log in on this device.</Text>
|
||||
<Heading>Option 1: Magischer Link</Heading>
|
||||
<Text>
|
||||
Klicke auf den magischen Link um Dich auf diesem Gerät anzumelden.
|
||||
</Text>
|
||||
<Button href={magicLink} id="magicLink">
|
||||
Log in to {ctx.domain}
|
||||
Logge Dich ein auf {ctx.domain}
|
||||
</Button>
|
||||
<Text light={true}>This link will expire in 15 minutes.</Text>
|
||||
<Text light={true}>Dieser Link ist nur für 15 Minuten gültig. </Text>
|
||||
</Card>
|
||||
<Card>
|
||||
<Heading>Option 2: Verification Code</Heading>
|
||||
<Text>Enter this one-time 6-digit verification code.</Text>
|
||||
<Heading>Option 2: Verifizierungscode</Heading>
|
||||
<Text>
|
||||
Gib diesen sechsstelligen Einmal-Code für die Verifizierung ein.
|
||||
</Text>
|
||||
<Heading as="h1" style={trackingWide} id="code">
|
||||
{code}
|
||||
</Heading>
|
||||
<Text light={true}>This code will expire in 15 minutes.</Text>
|
||||
<Text light={true}>Dieser Code ist nur für 15 Minuten gültig.</Text>
|
||||
</Card>
|
||||
</EmailLayout>
|
||||
);
|
||||
|
|
|
@ -26,7 +26,7 @@ export const NewCommentEmail = ({
|
|||
preview="Go to your poll to see what they said."
|
||||
>
|
||||
<Text>
|
||||
<strong>{authorName}</strong> has commented on <strong>{title}</strong>.
|
||||
<strong>{authorName}</strong> hat <strong>{title}</strong> kommentiert.
|
||||
</Text>
|
||||
</NotificationEmail>
|
||||
);
|
||||
|
|
|
@ -20,24 +20,25 @@ export const NewParticipantConfirmationEmail = ({
|
|||
ctx={ctx}
|
||||
footNote={
|
||||
<>
|
||||
You are receiving this email because a response was submitted on{" "}
|
||||
<Domain ctx={ctx} />. If this wasn't you, please ignore this
|
||||
email.
|
||||
Du erhältst diese E-Mail, da eine Antwort auf <Domain ctx={ctx} />{" "}
|
||||
eingegangen ist. Wenn Du das nicht warst, ignoriere bitte diese
|
||||
E-Mail.
|
||||
</>
|
||||
}
|
||||
recipientName={name}
|
||||
preview="To edit your response use the link below"
|
||||
>
|
||||
<Text>
|
||||
Your response to <strong>{title}</strong> has been submitted.
|
||||
Deine Antwort auf <strong>{title}</strong> wurde erfolgreich
|
||||
übermittelt.
|
||||
</Text>
|
||||
<Text>
|
||||
While the poll is still open you can change your response using the link
|
||||
below.
|
||||
Solange die Umfrage noch läuft, kannst Du Deine Antwort über den
|
||||
folgenden Link ändern oder anschauen:
|
||||
</Text>
|
||||
<Section>
|
||||
<Button id="editSubmissionUrl" href={editSubmissionUrl}>
|
||||
Review response on {domain}
|
||||
Ansehen auf {domain}
|
||||
</Button>
|
||||
</Section>
|
||||
</EmailLayout>
|
||||
|
|
|
@ -26,8 +26,8 @@ export const NewParticipantEmail = ({
|
|||
preview="Go to your poll to see the new response."
|
||||
>
|
||||
<Text>
|
||||
<strong>{participantName}</strong> has responded to{" "}
|
||||
<strong>{title}</strong>.
|
||||
<strong>{participantName}</strong> hat an Deiner Umfrage{" "}
|
||||
<strong>{title}</strong> teilgenommen.
|
||||
</Text>
|
||||
</NotificationEmail>
|
||||
);
|
||||
|
|
|
@ -23,9 +23,9 @@ const ShareLink = ({
|
|||
return (
|
||||
<Link
|
||||
href={`mailto:?subject=${encodeURIComponent(
|
||||
`Availability for ${title}`,
|
||||
`Terminfindung für ${title}`,
|
||||
)}&body=${encodeURIComponent(
|
||||
`Hi all,\nI'm trying to find the best date for ${title}.\nCan you please use the link below to choose your preferred dates:\n${participantLink}\nThank you.\n${name}`,
|
||||
`Hallo,\nIch versuche einen passenden Termin für ${title} zu finden.\nKannst du bitte den Link unten benutzen um deine bevorzugten Termine anzugeben:\n${participantLink}\nDankeschön.\n${name}`,
|
||||
)}`}
|
||||
>
|
||||
{children}
|
||||
|
@ -46,22 +46,21 @@ export const NewPollEmail = ({
|
|||
ctx={ctx}
|
||||
footNote={
|
||||
<>
|
||||
You are receiving this email because a new poll was created with this
|
||||
email address on <Link href={baseUrl}>{domain}</Link>. If this
|
||||
wasn't you, please ignore this email.
|
||||
Du erhältst diese E-Mail, weil eine neue Umfrage unter Angabe dieser
|
||||
E-Mail-Adresse auf <Link href={baseUrl}>{domain}</Link> erstellt
|
||||
wurde. Falls dies nicht von dir veranlasst wurde, ignoriere bitte
|
||||
diese E-Mail.
|
||||
</>
|
||||
}
|
||||
recipientName={name}
|
||||
preview="Share your participant link to start collecting responses."
|
||||
>
|
||||
<Text>
|
||||
Your poll has been successfully created! Here are the details:
|
||||
</Text>
|
||||
<Text>Deine Umfrage wurde erfolgreich angelegt!</Text>
|
||||
<Card>
|
||||
<Text>
|
||||
<strong>Title:</strong> {title}
|
||||
<strong>Titel:</strong> {title}
|
||||
<br />
|
||||
<strong>Invite Link:</strong>{" "}
|
||||
<strong>Einladungslink:</strong>{" "}
|
||||
<Link href={participantLink}>{participantLink}</Link>
|
||||
</Text>
|
||||
<Text>
|
||||
|
@ -70,18 +69,19 @@ export const NewPollEmail = ({
|
|||
name={name}
|
||||
participantLink={participantLink}
|
||||
>
|
||||
Share via email
|
||||
Per E-Mail teilen
|
||||
</ShareLink>
|
||||
</Text>
|
||||
</Card>
|
||||
<Text>
|
||||
To invite participants to your poll, simply share the{" "}
|
||||
<strong>Invite Link</strong> above with them. They'll be able to
|
||||
vote on their preferred meeting times and dates.
|
||||
Um Teilnehmer*innen zu deiner Umfrage einzuladen, teile einfach den oben
|
||||
genannten <strong>Einladungslink</strong> mit ihnen. Sie können dann für
|
||||
ihre bevorzugten Termine und Zeiten abstimmen.
|
||||
</Text>
|
||||
<Text>
|
||||
If you need to make any changes to your poll, or if you want to see the
|
||||
results so far, just click on the button below:
|
||||
Wenn du Änderungen an deiner Umfrage vornehmen möchtest oder die
|
||||
bisherigen Ergebnisse einsehen willst, klicke einfach auf den folgenden
|
||||
Button:
|
||||
</Text>
|
||||
<Text>
|
||||
<Button href={adminLink}>Manage Poll →</Button>
|
||||
|
|
|
@ -21,20 +21,21 @@ export const RegisterEmail = ({
|
|||
ctx={ctx}
|
||||
footNote={
|
||||
<>
|
||||
You're receiving this email because a request was made to
|
||||
register an account on <Domain ctx={ctx} />. If this wasn't you,
|
||||
please ignore this email.
|
||||
Du erhältst diese E-Mail, da eine Registrierungsanfrage auf{" "}
|
||||
<Domain ctx={ctx} /> eingegangen ist. Wenn Du das nicht warst,
|
||||
ignoriere bitte diese E-Mail.
|
||||
</>
|
||||
}
|
||||
preview={`Your 6-digit code is: ${code}`}
|
||||
>
|
||||
<Text>
|
||||
Please use the following 6-digit verification code to verify your email:
|
||||
Bitte nutze folgenden sechsstelligen Code um Deine E-Mailadresse zu
|
||||
verifizieren:
|
||||
</Text>
|
||||
<Heading as="h1" style={{ ...trackingWide }} id="code">
|
||||
{code}
|
||||
</Heading>
|
||||
<Text>This code is valid for 15 minutes</Text>
|
||||
<Text>Dieser Code ist nur für 15 Minuten gültig.</Text>
|
||||
</EmailLayout>
|
||||
);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue