fix(sonuc): ilk ekran ödeme öncesi tek gerçek önizlemeyi gösterir #5

Merged
bilal merged 8 commits from funnel/sonuc-ilk-ekran into main 2026-09-22 23:33:58 +03:00
Owner

/sonuc ilk ekranı düzeltilir. Bugün tepede boş manuel harita duruyor, tadımlık ise ~2.200 px aşağıda — 30 günde 0 kez görüntülendi. Yani ücretsiz deneme ürünü hiç gösterilmiyor, kullanıcı doğrudan paywall'a bakıyor.

Değişiklikler

  • Boş harita ilk ekranı işgal etmez; <ManuelHarita /> tablonun altına alındı
  • Tadımlık tablonun üstüne alındı
  • Tadımlık CTA'sı girişten dönüşte üretimi başlatır
  • listemUretHref tek kaynağa taşındı
  • Teslim edilmeyen "24 satırın tamamı" iddiası metinden çıkarıldı (maske 3 satır açıyor)

Tasarımcı denetimi sonrası eklenen düzeltme

İlk hâlde haritayı silmek hidrasyon kaymasına yol açıyordu: sunucu snapshot'ı listeyi hep boş sanıyor, kayıtlı listesi olan dönüş ziyaretçisinde hidrasyondan sonra ~368 px harita <main>'in tepesine giriyor ve tadımlık + tabloyu aşağı itiyordu. Silinen placeholder tam da bunu engelliyormuş. Çözüm: harita silinmedi, tablonun altına alındı.

Ayrıca manuel-harita.tsx'e mt-16 eklendi (sayfadaki diğer bölümlerle aynı).

Düşürülebilir commit'ler

d2e1190 ve e3519a5 [Bilal] etiketli metin commit'leri; git revert ile tek tek düşürülebilir, altındakiler etkilenmez.

Doğrulama: next typegen ✓ · tsc --noEmit 0 · lint 0 · entegrasyon build'i temiz. /meraklisina şeması değişmedi.

`/sonuc` ilk ekranı düzeltilir. Bugün tepede boş manuel harita duruyor, tadımlık ise ~2.200 px aşağıda — 30 günde **0 kez** görüntülendi. Yani ücretsiz deneme ürünü hiç gösterilmiyor, kullanıcı doğrudan paywall'a bakıyor. ### Değişiklikler - Boş harita ilk ekranı işgal etmez; `<ManuelHarita />` **tablonun altına** alındı - Tadımlık tablonun üstüne alındı - Tadımlık CTA'sı girişten dönüşte **üretimi başlatır** - `listemUretHref` tek kaynağa taşındı - Teslim edilmeyen "24 satırın tamamı" iddiası metinden çıkarıldı (maske 3 satır açıyor) ### Tasarımcı denetimi sonrası eklenen düzeltme İlk hâlde haritayı **silmek** hidrasyon kaymasına yol açıyordu: sunucu snapshot'ı listeyi hep boş sanıyor, kayıtlı listesi olan dönüş ziyaretçisinde hidrasyondan sonra ~368 px harita `<main>`'in tepesine giriyor ve tadımlık + tabloyu aşağı itiyordu. Silinen placeholder tam da bunu engelliyormuş. Çözüm: harita silinmedi, **tablonun altına** alındı. Ayrıca `manuel-harita.tsx`'e `mt-16` eklendi (sayfadaki diğer bölümlerle aynı). ### Düşürülebilir commit'ler `d2e1190` ve `e3519a5` `[Bilal]` etiketli metin commit'leri; `git revert` ile tek tek düşürülebilir, altındakiler etkilenmez. Doğrulama: `next typegen` ✓ · `tsc --noEmit` 0 · `lint` 0 · entegrasyon build'i temiz. `/meraklisina` şeması değişmedi.
bilal added 8 commits 2026-09-22 23:33:35 +03:00
Manuel liste boşken ManuelHarita placeholder yerine null döner. Boş gri
alan /sonuc'un ilk ekranını kaplıyordu; ödeme öncesi ilk ekranda durması
gereken şey tadımlık. İlk "+" ile liste dolunca harita kendiliğinden
belirir, il geometrisi yine ancak o anda iner.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Yeni sıra: ManuelHarita -> TadimlikBolumu -> SonucProgramTablosu. Tadımlık
ödeme öncesi gösterebildiğimiz tek gerçek önizleme; tablonun ~1.500 px
altında değil ilk ekranda durmalı. Props ve bileşen içleri değişmedi.

Tadımlık <section>'ına first:mt-0: harita boş durumda null döndüğü için bu
bölüm main'in ilk DOM çocuğu olabiliyor, main'in py-12'si yeterli.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Yerel fonksiyon sihirbaz-sabitler.ts'e (sonucHref'in yanına) taşındı ve
export edildi; `uret=1` parametre sırası sözleşmesinin yorumu da onunla
gitti. Davranış birebir aynı — tadımlık CTA'sı da aynı hedefi kullanacağı
için literal kopyanın dördüncü kez çoğalması engellendi.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Tadımlık CTA'sının giriş callback'i sonucHref() yerine
listemUretHref("tadimlik") — kullanıcı /sonuc'a geri bırakılmak yerine
üretimin koştuğu /listem'e iner, liste ek tık olmadan başlar.
"tadimlik" IZINLI_KAYNAKLAR'a eklendi, yoksa ölçüm "bilinmiyor"a düşerdi.

Ayrıca tadimlik_goruntulendi'nin üstüne seri kırılması notu: olay bugüne
kadar sayfanın ~2.200 px altında yaşıyordu, bundan sonra ilk ekranda —
iki dönem karşılaştırılamaz.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Maske girişsiz kullanıcıya 24 satırın tamamını değil yalnız ilk birkaçının
analizini açıyor (rapor-maske.ts); "5 deneme kredin hazır" da butonun
götürdüğü yerin sözü değil. Buton metni yeni vaat eklemeden yanlış olanı
bırakıyor: "Giriş yap ve listeni oluştur". Kanonik sağ ok yerinde duruyor.

Üstteki "Bu, 24 satırlık Yapay Zeka listenden yalnızca bir örnek." cümlesi
doğru olduğu için değişmedi — üretilen liste gerçekten 24 satır.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ÖNERİ — tek başına düşürülebilir (git reset --hard HEAD~1). Bir önceki
commit yalnız yanlış iddiayı kaldırdı ve kendi başına tutarlı; bu commit
CTA'ya yeni bir cümle öneriyor, karar Bilal'in.

Buton: "Giriş yap ve listeni oluştur" -> "Kendi listemi oluştur"
Alt satır: "· Giriş sonrası liste hemen üretilir" eklenir.

Sayı YOK ve bilerek: ACIK_SATIR (rapor-maske.ts, server-only) ve
DENEME_KREDISI (credits.ts, appdb import ediyor) bu "use client" dosyaya
import edilemez; elle "3"/"5" yazmak tek kaynak kuralını bozar.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Liste store'unun sunucu snapshot'ı her zaman boş liste döner
(liste-store.ts:86), kayıtlı manuel liste ancak hidrasyondan sonra
okunur. Harita sayfanın tepesindeyken kayıtlı listesi olan dönüş
ziyaretçisinde ~368 px yüksekliğinde sonradan beliriyor ve tadımlık ile
tabloyu aşağı itiyordu; main'in ilk çocuğu olduğu için impact fraction
~1, CLS eşiğinin çok üstü. Silinen placeholder bunu yeri sunucuda
rezerve ederek engelliyordu.

Harita tablonun altına alındı: sonradan belirdiğinde yalnızca sihirbaz
ile dipnotu iter, ikisi de katlanın altında. Bilgi mimarisi olarak da
doğru sıra — harita, tablodan kurulan listenin görselleştirmesi.

Yeni sıra: tadımlık → tablo → harita → sihirbaz → dipnot.
Sıraya bağlı stiller yeni sıraya göre doğrulandı: tadımlığın
first:mt-0'ı artık her durumda geçerli (üstünde kardeş kalmadı), harita
kendi mt-16'sını alıyor (tablo section'ı ve sihirbaz kartlarıyla aynı
ritim — eskiden üst boşluğu main'in py-12'sinden geliyordu).

Bulgu: 36-tasarimci-g1-ve-navbar.md B1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Buton "24 satırın tamamı" iddiasından arındırılmıştı (2373a9a) ama iki
eleman yukarıdaki paragraf aynı vaadi sürdürüyordu: "24 tercihlik
listenin her satırı bu formatta kurulur". Maske girişsiz/paketsiz
kullanıcıya 3 satır açıyor (rapor-maske.ts:12 ACIK_SATIR), kalan 21'in
gerekçe/risk/trend metni maskeli geliyor.

Cümleye "ilk üçü hemen açılır" eklendi — sayı yazıldı, bulanıklaştırma
ve garanti dili yok. "3" elle yazıldığı için (ACIK_SATIR `server-only`,
bu dosya "use client") tek kaynak bağı koda yorum olarak iliştirildi.

Bulgu: 36-tasarimci-g1-ve-navbar.md B2. Metin yönü Bilal'in.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bilal merged commit 2d7b65c77a into main 2026-09-22 23:33:58 +03:00
bilal deleted branch funnel/sonuc-ilk-ekran 2026-09-22 23:34:01 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bilal/kolaytercih#5