chore(eposta): şablondan harici font + footer iletişim

- <head>'deki Google Fonts preconnect/stylesheet <link>'leri kaldırıldı
  (çoğu istemci yok sayıyor, bazı spam filtrelerinde eksi puan).
- HTML footer'a ve düz metin gövdelerin sonuna kolaytercih.com +
  destek@kolaytercih.com satırı eklendi. Satış dili yok.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-21 04:47:30 +03:00
parent 56925e1309
commit aac33e7533

View File

@@ -6,8 +6,9 @@ import "server-only";
* desteğini güvenilir biçimde sunmaz — bu yüzden düzen tablo tabanlı ve tüm
* stiller satır içi. Logo işareti sitedeki SVG'nin raster kopyası olan
* `/kolay-tercih-mark.png` ile gösterilir (SVG'yi Gmail/Outlook engeller).
* Web fontları (Bricolage Grotesque, Cal Sans) <link> ile progresif olarak
* yüklenir; desteklemeyen istemciler sistem yazı tipine düşer.
* Harici font <link>'i yok: çoğu istemci yok sayıyor, bazı spam filtreleri
* harici kaynağı eksi puan sayıyor. Cal Sans / Bricolage Grotesque yalnızca
* cihazda kuruluysa görünür; aksi hâlde sistem yazı tipine düşer.
*/
import { SITE_URL } from "./seo";
@@ -25,6 +26,11 @@ const BASLIK_TIPI = `'Cal Sans', ${YAZI_TIPI}`;
/** Sitedeki kelime markası Bricolage Grotesque (font-bricolage). */
const MARKA_TIPI = `'Bricolage Grotesque', ${YAZI_TIPI}`;
/** Alt bilgideki iletişim satırı — HTML footer ve düz metin gövdeler ortak kullanır. */
const SITE_ALANI = "kolaytercih.com";
const DESTEK_EPOSTA = "destek@kolaytercih.com";
const METIN_ALT_BILGI = ["", "—", `${SITE_ALANI} · ${DESTEK_EPOSTA}`];
export type EpostaIcerik = {
subject: string;
html: string;
@@ -76,8 +82,6 @@ function kabuk({
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="color-scheme" content="light">
<title>${kacir(baslikEtiketi)}</title>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,300;12..96,600&family=Cal+Sans&display=swap" rel="stylesheet">
</head>
<body style="margin:0;padding:0;background-color:${ZEMIN};">
<div style="display:none;max-height:0;overflow:hidden;opacity:0;color:transparent;font-size:1px;line-height:1px;">${onizleme}</div>
@@ -96,7 +100,8 @@ function kabuk({
<tr>
<td style="padding:20px 8px 0;font-family:${YAZI_TIPI};font-size:12px;line-height:1.6;color:#94a3b8;">
KolayTercih &middot; YKS tercih listeni dakikalar içinde hazırla<br>
Bu e-postayı hesabınla ilgili bir işlem yaptığın için aldın.
Bu e-postayı hesabınla ilgili bir işlem yaptığın için aldın.<br>
<a href="https://${SITE_ALANI}" style="color:#94a3b8;">${SITE_ALANI}</a> &middot; <a href="mailto:${DESTEK_EPOSTA}" style="color:#94a3b8;">${DESTEK_EPOSTA}</a>
</td>
</tr>
</table>
@@ -155,6 +160,7 @@ export function magicLinkEpostasi(url: string): EpostaIcerik {
"",
"Bağlantı 15 dakika geçerli ve yalnızca bir kez kullanılabilir.",
"Bu isteği sen yapmadıysan bu e-postayı yok sayabilirsin.",
...METIN_ALT_BILGI,
].join("\n"),
};
}
@@ -201,6 +207,7 @@ export function krediHatirlatmaEpostasi(): EpostaIcerik {
"",
"Listenin tamamını açmak ya da danışmana soru sormak istersen kredi",
"yükleyebilirsin — listen ve sohbet geçmişin olduğu gibi durur.",
...METIN_ALT_BILGI,
].join("\n"),
};
}