Files
me-joachimhummel-de/artifacts
joachimhummel 84e0f9ddfd feat: polished on-brand HTML confirmation email (task #15)
Replaced the plain 4-line HTML confirmation email with a fully styled,
table-based HTML email that matches Joachim Hummel's portfolio branding.

Changes:
- artifacts/api-server/src/routes/contact.ts
  - Added buildConfirmationEmail(name: string): string helper function
  - Replaced inline htmlContent template literal with a call to the new helper
  - Extended textContent plain-text fallback with email/separator footer line

Email design details:
- Full DOCTYPE + <html lang="de"> structure for broad client compatibility
- All styles are inline (no <style> blocks) — compatible with Gmail, Outlook, Apple Mail
- Table-based layout throughout (no CSS grid/flexbox, no <div> dividers) for Outlook
- Divider uses a zero-height table cell with border-bottom instead of a <div>
- Brand blue header (#3f4ff4 ≈ hsl(234 89% 60%)) with frosted "JH" monogram badge
- White card body on slate-100 page background matching portfolio palette
- Personalised greeting using the sender's name (XSS-safe via escapeHtml)
- Blue accent sub-heading "Ihre Anfrage ist eingegangen."
- 1–2 Werktage response-time promise in bold
- CTA button "Portfolio ansehen →" linking to joachim-hummel.de
- Footer with name, role tagline, email + website links, and social links
  (Blog at blog.unixweb.de and n8n Creators profile — both present in portfolio)
- Legal disclaimer note at the bottom

No new dependencies introduced. Pre-existing typecheck errors in the file
(missing express-rate-limit types, missing api-zod export) are unrelated to
this change and pre-date this task.

Replit-Task-Id: fd961a0e-5bc4-4d29-a6c3-e90227307fe0
2026-05-15 16:44:50 +00:00
..
2026-05-13 03:54:14 +00:00