chore: seminarhof customer project

This commit is contained in:
e2e
2026-07-11 08:29:46 +02:00
commit 1d847171eb
188 changed files with 20784 additions and 0 deletions

14
emails/locales/de.json Normal file
View File

@@ -0,0 +1,14 @@
{
"common": {
"footer": "Wenn du dieses Konto nicht erstellt hast, kannst du diese E-Mail ignorieren."
},
"confirmEmail": {
"subject": "Bestätige deine E-Mail für {{appName}}",
"preview": "Bestätige deine E-Mail-Adresse, um die Einrichtung deines Kontos abzuschließen.",
"heading": "Bestätige deine E-Mail",
"intro": "Danke für deine Anmeldung bei {{appName}}! Bestätige {{email}}, um die Einrichtung deines Kontos abzuschließen.",
"cta": "E-Mail bestätigen",
"fallback": "Falls der Button nicht funktioniert, kopiere diese URL in deinen Browser:",
"expiry": "Dieser Link läuft in 24 Stunden ab."
}
}

14
emails/locales/en.json Normal file
View File

@@ -0,0 +1,14 @@
{
"common": {
"footer": "If you did not create this account, you can safely ignore this email."
},
"confirmEmail": {
"subject": "Confirm your email for {{appName}}",
"preview": "Confirm your email address to finish setting up your account.",
"heading": "Confirm your email",
"intro": "Thanks for signing up for {{appName}}! Confirm {{email}} to finish setting up your account.",
"cta": "Confirm email",
"fallback": "If the button does not work, copy and paste this URL into your browser:",
"expiry": "This link expires in 24 hours."
}
}

View File

@@ -0,0 +1,3 @@
<p style="margin:32px 0 0;color:{{theme.colors.muted}};font-size:13px;line-height:1.6;">
{{t.common.footer}}
</p>

View File

@@ -0,0 +1,15 @@
<!doctype html>
<html lang="{{locale}}">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{{subject}}</title>
</head>
<body style="margin:0;padding:0;background:{{theme.colors.canvas}};font-family:{{theme.fonts.body}};">
<div style="padding:32px 16px;">
<div style="max-width:560px;margin:0 auto;background:{{theme.colors.surface}};border:1px solid {{theme.colors.border}};border-radius:24px;padding:32px;">
{{content}}
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,27 @@
<p style="margin:0 0 12px;color:{{theme.colors.accent}};font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;">
{{appName}}
</p>
<h1 style="margin:0 0 16px;color:{{theme.colors.text}};font-size:28px;line-height:1.1;">
{{t.confirmEmail.heading}}
</h1>
<p style="margin:0 0 24px;color:{{theme.colors.muted}};font-size:16px;line-height:1.6;">
{{t.confirmEmail.intro}}
</p>
<p style="margin:0 0 24px;">
<a
href="{{confirmUrl}}"
style="display:inline-block;background:{{theme.colors.button}};color:{{theme.colors.buttonText}};text-decoration:none;padding:14px 22px;border-radius:999px;font-weight:700;"
>
{{t.confirmEmail.cta}}
</a>
</p>
<p style="margin:0 0 8px;color:{{theme.colors.text}};font-size:14px;line-height:1.6;">
{{t.confirmEmail.fallback}}
</p>
<p style="margin:0;color:{{theme.colors.muted}};font-size:14px;line-height:1.6;word-break:break-all;">
{{confirmUrl}}
</p>
<p style="margin:24px 0 0;color:{{theme.colors.muted}};font-size:13px;line-height:1.6;">
{{t.confirmEmail.expiry}}
</p>
{{> footer}}

View File

@@ -0,0 +1 @@
{{t.confirmEmail.subject}}

View File

@@ -0,0 +1,7 @@
{{t.confirmEmail.heading}}
{{t.confirmEmail.intro}}
{{confirmUrl}}
{{t.confirmEmail.expiry}}

16
emails/theme.json Normal file
View File

@@ -0,0 +1,16 @@
{
"appName": "Seminarhof",
"fonts": {
"body": "Inter, Arial, sans-serif"
},
"colors": {
"canvas": "#0b1020",
"surface": "#11182d",
"border": "#263252",
"text": "#f7f8fb",
"muted": "#a8b0c5",
"accent": "#7dd3fc",
"button": "#f59e0b",
"buttonText": "#111827"
}
}