diff --git a/apps/web/src/app/[locale]/(admin)/page.tsx b/apps/web/src/app/[locale]/(admin)/page.tsx index fd7aab034c5..eeec4717fa0 100644 --- a/apps/web/src/app/[locale]/(admin)/page.tsx +++ b/apps/web/src/app/[locale]/(admin)/page.tsx @@ -11,12 +11,14 @@ import { PageTitle, } from "@/app/components/page-layout"; import { getTranslation } from "@/app/i18n"; +import { TermiteAlert } from "@/app/[locale]/(admin)/termite-alert"; export default async function Page({ params }: { params: Params }) { const { t } = await getTranslation(params.locale); return (
+
diff --git a/apps/web/src/app/[locale]/(admin)/termite-alert.tsx b/apps/web/src/app/[locale]/(admin)/termite-alert.tsx new file mode 100644 index 00000000000..9f16b144772 --- /dev/null +++ b/apps/web/src/app/[locale]/(admin)/termite-alert.tsx @@ -0,0 +1,55 @@ +"use client"; + +import { Alert, AlertDescription, AlertTitle } from "@rallly/ui/alert"; +import { Button } from "@rallly/ui/button"; +import { InfoIcon } from "lucide-react"; +import { useState } from "react"; + +export function TermiteAlert() { + const [showTermiteAlert, setShowTermiteAlert] = useState(true); + + if (!showTermiteAlert) { + return null; + } + + return ( + + Herzlich Willkommen bei der neuen Termite! 🎉 + +

+ Zum 02.09.2024 wurde die Termite aktualisiert. Eine Anleitung zur + Nutzung der Termite 2.0 findet ihr{" "} + + hier + + . +

+

+ Eure bisherigen Umfragen wurden archiviert. Ihr könnt sie noch bis zum + 15.09.2024{" "} + + hier + {" "} + einsehen und herunterladen. +

+

+ Wir bitten euch, die Daten bei Bedarf zu sichern. Bei Fragen oder + Feedback wendet euch gerne an beteiligung@gruene.de. +

+
+ +
+
+
+ ); +} diff --git a/apps/web/src/utils/auth.ts b/apps/web/src/utils/auth.ts index fc94b382e98..85cc75e1909 100644 --- a/apps/web/src/utils/auth.ts +++ b/apps/web/src/utils/auth.ts @@ -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", { diff --git a/packages/backend/trpc/routers/polls.ts b/packages/backend/trpc/routers/polls.ts index 3f14ebb9c33..14f5eae4530 100644 --- a/packages/backend/trpc/routers/polls.ts +++ b/packages/backend/trpc/routers/polls.ts @@ -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, diff --git a/packages/backend/trpc/routers/polls/comments.ts b/packages/backend/trpc/routers/polls/comments.ts index 77d76d5bca8..c0261426bf0 100644 --- a/packages/backend/trpc/routers/polls/comments.ts +++ b/packages/backend/trpc/routers/polls/comments.ts @@ -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, diff --git a/packages/backend/trpc/routers/polls/participants.ts b/packages/backend/trpc/routers/polls/participants.ts index 8b5dae38839..d442dba406e 100644 --- a/packages/backend/trpc/routers/polls/participants.ts +++ b/packages/backend/trpc/routers/polls/participants.ts @@ -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, diff --git a/packages/emails/src/templates/_components/email-layout.tsx b/packages/emails/src/templates/_components/email-layout.tsx index 4f7a652922f..87f92eca9f7 100644 --- a/packages/emails/src/templates/_components/email-layout.tsx +++ b/packages/emails/src/templates/_components/email-layout.tsx @@ -60,7 +60,7 @@ export const EmailLayout = ({ Rallly
- {recipientName ? Hi {recipientName}, : null} + {recipientName ? Hallo {recipientName}, : null} {children} {footNote ? (  •  - - Twitter + + Impressum  •  - - Github + + Datenschutz  •  - Contact + Hilfe + +  •  + + Diese Anwendung basiert auf Rallly
diff --git a/packages/emails/src/templates/_components/notification-email.tsx b/packages/emails/src/templates/_components/notification-email.tsx index ecb54450a62..b58a0e51b52 100644 --- a/packages/emails/src/templates/_components/notification-email.tsx +++ b/packages/emails/src/templates/_components/notification-email.tsx @@ -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{" "} - turn notifications off + deaktivieren . @@ -40,7 +41,7 @@ export const NotificationEmail = ({ > {children} - + ); diff --git a/packages/emails/src/templates/finalized-host.tsx b/packages/emails/src/templates/finalized-host.tsx index 82010cfb2ad..83fbfe13319 100644 --- a/packages/emails/src/templates/finalized-host.tsx +++ b/packages/emails/src/templates/finalized-host.tsx @@ -30,7 +30,7 @@ export const FinalizeHostEmail = ({ return ( - {title} has been booked for: + Es wurde ein Termin vereinbart für {title}:
@@ -71,10 +71,11 @@ export const FinalizeHostEmail = ({
- We've notified participants and sent them calendar invites. + Wir haben die Teilnehmer*innen benachrichtigt und ihnen + Kalendereinladungen zugeschickt. - +
); diff --git a/packages/emails/src/templates/finalized-participant.tsx b/packages/emails/src/templates/finalized-participant.tsx index 6dfffa6d916..f47af55e061 100644 --- a/packages/emails/src/templates/finalized-participant.tsx +++ b/packages/emails/src/templates/finalized-participant.tsx @@ -32,8 +32,8 @@ export const FinalizeParticipantEmail = ({ return ( - {hostName} has booked {title} for the - following date: + {hostName} hat für {title} folgendes + Datum festgelegt:
@@ -73,9 +73,9 @@ export const FinalizeParticipantEmail = ({
- Please find attached a calendar invite for this event. + Anbei findest Du die Kalendereinladung für diesen Termin. - +
); diff --git a/packages/emails/src/templates/login.tsx b/packages/emails/src/templates/login.tsx index 972f0e389d3..7ad45ac8ee9 100644 --- a/packages/emails/src/templates/login.tsx +++ b/packages/emails/src/templates/login.tsx @@ -27,32 +27,37 @@ export const LoginEmail = ({ ctx={ctx} footNote={ <> - You're receiving this email because a request was made to login - to . If this wasn't you, let us know by - replying to this email. + Du hast diese E-Mail erhalten, da ein Login-Versuch bei{" "} + 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." > - 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: - Option 1: Magic Link - Click this magic link to log in on this device. + Option 1: Magischer Link + + Klicke auf den magischen Link um Dich auf diesem Gerät anzumelden. + - This link will expire in 15 minutes. + Dieser Link ist nur für 15 Minuten gültig. - Option 2: Verification Code - Enter this one-time 6-digit verification code. + Option 2: Verifizierungscode + + Gib diesen sechsstelligen Einmal-Code für die Verifizierung ein. + {code} - This code will expire in 15 minutes. + Dieser Code ist nur für 15 Minuten gültig. ); diff --git a/packages/emails/src/templates/new-comment.tsx b/packages/emails/src/templates/new-comment.tsx index a36cc7438c6..18f5a7ad146 100644 --- a/packages/emails/src/templates/new-comment.tsx +++ b/packages/emails/src/templates/new-comment.tsx @@ -26,7 +26,7 @@ export const NewCommentEmail = ({ preview="Go to your poll to see what they said." > - {authorName} has commented on {title}. + {authorName} hat {title} kommentiert. ); diff --git a/packages/emails/src/templates/new-participant-confirmation.tsx b/packages/emails/src/templates/new-participant-confirmation.tsx index 0fc2f49e439..a24f2dcffb4 100644 --- a/packages/emails/src/templates/new-participant-confirmation.tsx +++ b/packages/emails/src/templates/new-participant-confirmation.tsx @@ -20,24 +20,25 @@ export const NewParticipantConfirmationEmail = ({ ctx={ctx} footNote={ <> - You are receiving this email because a response was submitted on{" "} - . If this wasn't you, please ignore this - email. + Du erhältst diese E-Mail, da eine Antwort auf {" "} + eingegangen ist. Wenn Du das nicht warst, ignoriere bitte diese + E-Mail. } recipientName={name} preview="To edit your response use the link below" > - Your response to {title} has been submitted. + Deine Antwort auf {title} wurde erfolgreich + übermittelt. - 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:
diff --git a/packages/emails/src/templates/new-participant.tsx b/packages/emails/src/templates/new-participant.tsx index 09b4cee2174..1fe9ee9c738 100644 --- a/packages/emails/src/templates/new-participant.tsx +++ b/packages/emails/src/templates/new-participant.tsx @@ -26,8 +26,8 @@ export const NewParticipantEmail = ({ preview="Go to your poll to see the new response." > - {participantName} has responded to{" "} - {title}. + {participantName} hat an Deiner Umfrage{" "} + {title} teilgenommen. ); diff --git a/packages/emails/src/templates/new-poll.tsx b/packages/emails/src/templates/new-poll.tsx index 3133816a911..6cae6406c93 100644 --- a/packages/emails/src/templates/new-poll.tsx +++ b/packages/emails/src/templates/new-poll.tsx @@ -23,9 +23,9 @@ const ShareLink = ({ return ( {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 {domain}. 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 {domain} 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." > - - Your poll has been successfully created! Here are the details: - + Deine Umfrage wurde erfolgreich angelegt! - Title: {title} + Titel: {title}
- Invite Link:{" "} + Einladungslink:{" "} {participantLink}
@@ -70,18 +69,19 @@ export const NewPollEmail = ({ name={name} participantLink={participantLink} > - Share via email + Per E-Mail teilen
- To invite participants to your poll, simply share the{" "} - Invite Link 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 Einladungslink mit ihnen. Sie können dann für + ihre bevorzugten Termine und Zeiten abstimmen. - 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: diff --git a/packages/emails/src/templates/register.tsx b/packages/emails/src/templates/register.tsx index 9a4c5bfb4d0..f4b8ff0878d 100644 --- a/packages/emails/src/templates/register.tsx +++ b/packages/emails/src/templates/register.tsx @@ -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 . If this wasn't you, - please ignore this email. + Du erhältst diese E-Mail, da eine Registrierungsanfrage auf{" "} + eingegangen ist. Wenn Du das nicht warst, + ignoriere bitte diese E-Mail. } preview={`Your 6-digit code is: ${code}`} > - Please use the following 6-digit verification code to verify your email: + Bitte nutze folgenden sechsstelligen Code um Deine E-Mailadresse zu + verifizieren: {code} - This code is valid for 15 minutes + Dieser Code ist nur für 15 Minuten gültig. ); };