Przejdź do głównej zawartości

Email Design System

Na tej stronie

Maile Vista to oficjalny kanał komunikacji kliniki z opiekunami zwierząt (B2C), zespołem kliniki (B2B) i administratorami (B2tech).

KanałUżycieTechnologia
Backend (główny)Recommendations, Reminders, Invitations, PIN unlockTauri + Resend
mailto: (legacy)MarginalnieFE helper
SendEmailDialog / UI
→ emailService (FE, typowane payloady)
→ Tauri safeInvoke (send_* commands)
→ Backend mailer (Node/Rust)
→ Resend
→ Odbiorca
interface RecommendationsEmailPayload {
toEmail: string;
patientName: string;
visitDate: string; // "24.10.2025"
recommendations: string; // SOAP plan + custom message
veterinarianName: string;
}
interface AppointmentReminderEmailPayload {
toEmail: string;
patientName: string;
ownerName: string;
visitDate: string;
visitTime: string; // "10:30"
clinicName: string;
clinicAddress: string;
veterinarianName?: string;
}
interface InvitationEmailPayload {
toEmail: string;
clinicName: string;
invitedBy: string;
inviteUrl: string;
role?: string; // "admin" | "vet" | "assistant"
}
interface PinUnlockEmailPayload {
toEmail: string;
pinCode: string;
expiry?: string; // "5 minut"
}

Dozwolone dane:

  • Imię pacjenta
  • Imię/nazwisko opiekuna
  • Data/godzina wizyty
  • Nazwisko lekarza
  • Nazwa kliniki / adres
  • Oficjalne zalecenia (SOAP plan)

Użycie: Recommendations, Appointment reminders

ElementStyl
Tło#F8FAFC lub białe
PanelGlass rgba(255,255,255,0.8), border #E5E5E5
CTA#2563EB (deep blue) lub #111 (grafit)
TonCiepły, zrozumiały, “opiekuńczy”

Użycie: Staff invitation, PIN unlock

ElementStyl
TłoCiemny radial gradient
PanelGlassmorphism blur 16-20px
Typografia#e5e5e5, #f5f5f5
TonPoważny, techniczny, “systemowy”
ElementStyl
VISTA20px, 700, #222, letter-spacing 0.5px
Tagline PL”System dla klinik weterynaryjnych”
Tagline EN”System for veterinary clinics”
Font13px, #555
background: rgba(255,255,255,0.8);
backdrop-filter: blur(6px);
border: 1px solid rgba(0,0,0,0.08);
border-radius: 12px;
padding: 40px;
max-width: 520px;
box-shadow: 0 8px 24px rgba(0,0,0,0.05);
ElementStyl
Title (H1)22px, 600, #222
Body15px, line-height 1.5, #333
Signature label13px, #555
Signature name15px, 600, #222
Footer11px, #888
background: #FAFAFA;
border: 1px solid #E5E5E5;
border-radius: 10-12px;
padding: 16px 18px;
white-space: pre-wrap;
background: #2563EB;
color: #FFFFFF;
padding: 12px 24px;
border-radius: 8px;
font-weight: 600;
font-size: 15px;

Każdy typ maila używa tokenów w src/i18n/locales/*/email.json:

TokenUżycie
subjectSubject line
preheaderEmail preheader
titleMain heading
introIntroduction paragraph
bodyInfoOptional body info
blockTitleBlock title
closingClosing paragraph
signatureLabelSignature label
footerAutoAuto-generated notice
footerCompanyCompany info

Bloki: header → title → intro → bodyInfo → recommendationsBox → closing → signature → footer

Ton: Ciepły, prosty, zrozumiały dla laika

Bloki: header → title → intro → appointmentInfoBox → closing → footer

Ton: Przyjazny, przypominający

Bloki: header → title → intro → CTA → fallback link → closing → footer

Ton: Profesjonalny, B2B

Bloki: header → title → intro → PIN box → closing → footer

Ton: Krótki, techniczny

TypPLEN
Recommendations (light)recommendations-light-pl.htmlrecommendations-light-en.html
Legacy (dark)recommendations-pl.htmlrecommendations-en.html
{
patientName, // Visit.patientName
visitDate, // Sformatowana data
recommendations, // SOAP plan + customMessage
veterinarianName // Visit.veterinarian
}
  • Poprawna struktura HTML (Gmail / Outlook / iOS)
  • Poprawna interpolacja tokenów
  • Brak internalVisitNotes
  • Odpowiedni kontrast WCAG
  • Poprawna wersja językowa
  • Poprawny wariant (light/dark)
  • Mobile-friendly (min. 320px)
  1. Recommendations (Light) — priorytet, najbardziej user-facing
  2. Appointment reminders (Light) — migracja template’ów BE
  3. Staff invitation + PIN unlock (Dark) — aktualizacja do skeleton
  4. Migracja BE — Light/Dark skeletony + i18n
  5. Preheader + tracking — opcjonalnie