fix(listem): fark modalı paketliye kredi bedeli göstermez
Sunucu artık paketliden kredi düşmüyor; arayüz hâlâ "3 kredi düşer" ve "Listemi güncelle — 3 kredi" diyordu. raporKredi prop'u paketliye 0 iner, modal tek `ucretsiz` bayrağıyla üç metin yerini buna bağlar. Kredi mantığı (krediYeter, KrediYetersiz dalı) olduğu gibi kalır. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -164,7 +164,12 @@ export async function ListemIcerik({
|
|||||||
kilitAcilisi={kilitAcilisi}
|
kilitAcilisi={kilitAcilisi}
|
||||||
kilitliBaslangic={user.hasPaket ? undefined : ACIK_SATIR}
|
kilitliBaslangic={user.hasPaket ? undefined : ACIK_SATIR}
|
||||||
kredi={user.creditBalance}
|
kredi={user.creditBalance}
|
||||||
raporKredi={RAPOR_KREDI}
|
raporKredi={
|
||||||
|
/* Liste ve revizyon pakete dâhil (bkz. rapor-actions.ts'teki
|
||||||
|
maliyet): paketliye bedel 0 iner ki arayüz sunucunun yaptığını
|
||||||
|
söylesin. */
|
||||||
|
user.hasPaket ? 0 : RAPOR_KREDI
|
||||||
|
}
|
||||||
sohbetGecmisi={sohbetGecmisi as Mesaj[]}
|
sohbetGecmisi={sohbetGecmisi as Mesaj[]}
|
||||||
ozet={danismanOzeti}
|
ozet={danismanOzeti}
|
||||||
ilkYorum={ilkYorum}
|
ilkYorum={ilkYorum}
|
||||||
|
|||||||
@@ -6,10 +6,12 @@
|
|||||||
// alanların değiştiğini gösterir ve listeyi yeni tercihlere göre yeniden
|
// alanların değiştiğini gösterir ve listeyi yeni tercihlere göre yeniden
|
||||||
// kurmayı önerir.
|
// kurmayı önerir.
|
||||||
//
|
//
|
||||||
// Yeniden kurulum normal üretimle AYNI kapıdan geçer (listeOlustur): 3 kredi,
|
// Yeniden kurulum normal üretimle AYNI kapıdan geçer (listeOlustur): aynı
|
||||||
// aynı requestId idempotency'si, aynı kredi-yetersiz/iade davranışı. Ayrı bir
|
// bedel, aynı requestId idempotency'si, aynı kredi-yetersiz/iade davranışı.
|
||||||
// "güncelleme" ürünü ya da indirimli yol yok — kullanıcı yeni bir liste alıyor,
|
// Ayrı bir "güncelleme" ürünü ya da indirimli yol yok — kullanıcı yeni bir
|
||||||
// bedeli de yeni liste bedeli.
|
// liste alıyor, bedeli de yeni liste bedeli. Paketli kullanıcıda o bedel 0:
|
||||||
|
// liste ve revizyon pakete dâhil (raporKredi prop'u listem-icerik.tsx'te
|
||||||
|
// koşullanır), krediler yalnız danışman sorusuna gider.
|
||||||
//
|
//
|
||||||
// Renk: modalın kabuğu marka primary'si (bg-primary/10 ikon hücresi), ana
|
// Renk: modalın kabuğu marka primary'si (bg-primary/10 ikon hücresi), ana
|
||||||
// aksiyon ise ürünün CTA turuncusu — kilidi açan, kredi harcayan, ödemeye
|
// aksiyon ise ürünün CTA turuncusu — kilidi açan, kredi harcayan, ödemeye
|
||||||
@@ -127,6 +129,10 @@ export function TercihDegistiModali({
|
|||||||
}
|
}
|
||||||
|
|
||||||
const krediYeter = kredi >= raporKredi;
|
const krediYeter = kredi >= raporKredi;
|
||||||
|
// Paketliye liste ve revizyon dâhil olduğu için bedel 0 iner (raporKredi
|
||||||
|
// prop'u listem-icerik.tsx'te koşullanıyor). Tek türetilmiş bayrak: modalın
|
||||||
|
// üç kredi cümlesi buna bakar, kredi mantığı olduğu gibi kalır.
|
||||||
|
const ucretsiz = raporKredi === 0;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog
|
<Dialog
|
||||||
@@ -184,8 +190,17 @@ export function TercihDegistiModali({
|
|||||||
tablosunda zaten duruyor; açıklama yalnızca sonucu ve
|
tablosunda zaten duruyor; açıklama yalnızca sonucu ve
|
||||||
bedeli söylüyor. */}
|
bedeli söylüyor. */}
|
||||||
<DialogDescription>
|
<DialogDescription>
|
||||||
Listen eski tercihlerinle kuruldu. Yeni liste bunun yerine
|
{ucretsiz ? (
|
||||||
geçer ve {raporKredi} kredi düşer.
|
<>
|
||||||
|
Listen eski tercihlerinle kuruldu. Yeni liste bunun yerine
|
||||||
|
geçer; güncelleme paketine dâhil, kredi düşmez.
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
<>
|
||||||
|
Listen eski tercihlerinle kuruldu. Yeni liste bunun yerine
|
||||||
|
geçer ve {raporKredi} kredi düşer.
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</DialogDescription>
|
</DialogDescription>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -245,7 +260,7 @@ export function TercihDegistiModali({
|
|||||||
{durum.ad === "hata" ? (
|
{durum.ad === "hata" ? (
|
||||||
<p className="text-sm text-red-700">{durum.mesaj}</p>
|
<p className="text-sm text-red-700">{durum.mesaj}</p>
|
||||||
) : null}
|
) : null}
|
||||||
{!krediYeter && durum.ad !== "hata" ? (
|
{!ucretsiz && !krediYeter && durum.ad !== "hata" ? (
|
||||||
<p className="text-xs text-slate-500">
|
<p className="text-xs text-slate-500">
|
||||||
Güncelleme {raporKredi} kredi; bakiyen {kredi} kredi.
|
Güncelleme {raporKredi} kredi; bakiyen {kredi} kredi.
|
||||||
</p>
|
</p>
|
||||||
@@ -272,7 +287,9 @@ export function TercihDegistiModali({
|
|||||||
onClick={() => void guncelle()}
|
onClick={() => void guncelle()}
|
||||||
className="cursor-pointer bg-orange-500 text-white transition-[background-color,transform] duration-200 active:scale-[0.97] hover:bg-orange-600"
|
className="cursor-pointer bg-orange-500 text-white transition-[background-color,transform] duration-200 active:scale-[0.97] hover:bg-orange-600"
|
||||||
>
|
>
|
||||||
Listemi güncelle — {raporKredi} kredi
|
{ucretsiz
|
||||||
|
? "Listemi güncelle"
|
||||||
|
: `Listemi güncelle — ${raporKredi} kredi`}
|
||||||
<ArrowRight className="size-4" aria-hidden />
|
<ArrowRight className="size-4" aria-hidden />
|
||||||
</Button>
|
</Button>
|
||||||
) : (
|
) : (
|
||||||
|
|||||||
Reference in New Issue
Block a user