feat(surum-notlari): geri bildirim kutusu ve arayüz iyileştirmeleri balonu

Dev CTA bandı yerine başlık + metin alanı + buton; mesaj sunucu aksiyonuyla
destek kutusuna e-posta olarak gider (IP başına 10 dk'da 3). Başlığın başı
sabit, devamı bir kez daktilo gibi yazılır.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-10-09 01:39:59 +03:00
parent e0d0553293
commit e8e2c73527
5 changed files with 330 additions and 94 deletions

View File

@@ -210,4 +210,40 @@ export function krediHatirlatmaEpostasi(): EpostaIcerik {
...METIN_ALT_BILGI,
].join("\n"),
};
}
}
/**
* Sürüm notları sayfasındaki geri bildirim kutusundan gelen mesaj — destek
* kutusuna düşer, kullanıcıya gitmez. `gonderen` oturum varsa hesabın
* e-postasıdır; yoksa mesaj anonimdir.
*/
export function geriBildirimEpostasi({
mesaj,
gonderen,
surum,
}: {
mesaj: string;
gonderen: string | null;
surum: string;
}): EpostaIcerik {
const konu = `Geri bildirim (v${surum})`;
const kimden = gonderen ?? "Anonim (oturum yok)";
const govde = `
<h1 style="margin:0 0 12px;font-family:${BASLIK_TIPI};font-size:22px;line-height:1.35;font-weight:700;color:${LACIVERT};">
Yeni geri bildirim
</h1>
<p style="margin:0 0 16px;font-size:13px;">
Gönderen: <strong style="color:${LACIVERT};">${kacir(kimden)}</strong> &middot; v${kacir(surum)}
</p>
<p style="margin:0;white-space:pre-wrap;color:${LACIVERT};">${kacir(mesaj)}</p>`;
return {
subject: konu,
html: kabuk({
onizleme: kacir(mesaj.slice(0, 90)),
govde,
baslikEtiketi: konu,
}),
text: [`Gönderen: ${kimden} · v${surum}`, "", mesaj].join("\n"),
};
}