import { getBranding } from '@/lib/branding/service' export interface ConsentExpiryEmailData { bankName: string daysUntilExpiry: number renewalUrl: string companyName: string isExpired: boolean } /** * Generate HTML email for consent expiry notification */ export function generateConsentExpiryEmailHtml(data: ConsentExpiryEmailData): string { const { bankName, daysUntilExpiry, renewalUrl, companyName, isExpired } = data const { appName } = getBranding() const headerColor = isExpired ? '#dc2626' : '#ea580c' const title = isExpired ? 'Banksynkronisering har stoppats' : `Samtycket för ${bankName} löper ut snart` return ` ${title}
${isExpired ? 'Åtgärd krävs' : 'Påminnelse'}

${title}

${isExpired ? `

PSD2-samtycket för ${bankName} har löpt ut. Automatisk transaktionssynkronisering är stoppad.

Förnya anslutningen för att återuppta synkroniseringen.

` : `

Samtycket för ${bankName} löper ut om ${daysUntilExpiry} ${daysUntilExpiry === 1 ? 'dag' : 'dagar'}.

Förnya anslutningen innan samtycket löper ut för att undvika avbrott i transaktionssynkroniseringen.

`}
${isExpired ? 'Förnya anslutning' : 'Hantera bankanslutningar'}

Med vänliga hälsningar,
${companyName || appName.toLowerCase()}

` } /** * Generate plain text email for consent expiry notification */ export function generateConsentExpiryEmailText(data: ConsentExpiryEmailData): string { const { bankName, daysUntilExpiry, renewalUrl, companyName, isExpired } = data const { appName } = getBranding() let text = '' if (isExpired) { text += `BANKSYNKRONISERING HAR STOPPATS\n` text += `=`.repeat(40) + `\n\n` text += `PSD2-samtycket för ${bankName} har löpt ut.\n` text += `Automatisk transaktionssynkronisering är stoppad.\n\n` text += `Förnya anslutningen för att återuppta synkroniseringen.\n\n` } else { text += `SAMTYCKET FÖR ${bankName.toUpperCase()} LÖPER UT SNART\n` text += `=`.repeat(40) + `\n\n` text += `Samtycket för ${bankName} löper ut om ${daysUntilExpiry} ${daysUntilExpiry === 1 ? 'dag' : 'dagar'}.\n\n` text += `Förnya anslutningen innan samtycket löper ut för att undvika avbrott.\n\n` } text += `Hantera bankanslutningar: ${renewalUrl}\n\n` text += `Med vänliga hälsningar,\n` text += `${companyName || appName.toLowerCase()}\n` return text } /** * Generate email subject for consent expiry notification */ export function generateConsentExpiryEmailSubject(data: ConsentExpiryEmailData): string { if (data.isExpired) { return `Banksynkronisering stoppad — ${data.bankName}` } return `Banksamtycke löper ut om ${data.daysUntilExpiry} ${data.daysUntilExpiry === 1 ? 'dag' : 'dagar'} — ${data.bankName}` }