diff --git a/src/features/rapor/components/listem-icerik.tsx b/src/features/rapor/components/listem-icerik.tsx index 388a9c6..f593730 100644 --- a/src/features/rapor/components/listem-icerik.tsx +++ b/src/features/rapor/components/listem-icerik.tsx @@ -164,7 +164,12 @@ export async function ListemIcerik({ kilitAcilisi={kilitAcilisi} kilitliBaslangic={user.hasPaket ? undefined : ACIK_SATIR} 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[]} ozet={danismanOzeti} ilkYorum={ilkYorum} diff --git a/src/features/rapor/components/tercih-degisti-modali.tsx b/src/features/rapor/components/tercih-degisti-modali.tsx index eb62071..837dec3 100644 --- a/src/features/rapor/components/tercih-degisti-modali.tsx +++ b/src/features/rapor/components/tercih-degisti-modali.tsx @@ -6,10 +6,12 @@ // alanların değiştiğini gösterir ve listeyi yeni tercihlere göre yeniden // kurmayı önerir. // -// Yeniden kurulum normal üretimle AYNI kapıdan geçer (listeOlustur): 3 kredi, -// aynı requestId idempotency'si, aynı kredi-yetersiz/iade davranışı. Ayrı bir -// "güncelleme" ürünü ya da indirimli yol yok — kullanıcı yeni bir liste alıyor, -// bedeli de yeni liste bedeli. +// Yeniden kurulum normal üretimle AYNI kapıdan geçer (listeOlustur): aynı +// bedel, aynı requestId idempotency'si, aynı kredi-yetersiz/iade davranışı. +// Ayrı bir "güncelleme" ürünü ya da indirimli yol yok — kullanıcı yeni bir +// 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 // aksiyon ise ürünün CTA turuncusu — kilidi açan, kredi harcayan, ödemeye @@ -127,6 +129,10 @@ export function TercihDegistiModali({ } 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 ( - Listen eski tercihlerinle kuruldu. Yeni liste bunun yerine - geçer ve {raporKredi} kredi düşer. + {ucretsiz ? ( + <> + 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. + + )} @@ -245,7 +260,7 @@ export function TercihDegistiModali({ {durum.ad === "hata" ? (

{durum.mesaj}

) : null} - {!krediYeter && durum.ad !== "hata" ? ( + {!ucretsiz && !krediYeter && durum.ad !== "hata" ? (

Güncelleme {raporKredi} kredi; bakiyen {kredi} kredi.

@@ -272,7 +287,9 @@ export function TercihDegistiModali({ 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" > - Listemi güncelle — {raporKredi} kredi + {ucretsiz + ? "Listemi güncelle" + : `Listemi güncelle — ${raporKredi} kredi`} ) : (