Commit Graph

5 Commits

Author SHA1 Message Date
bilalgursen
7dc47ee1a9 fix(funnel): navbar giriş butonu kullanıcıyı bulunduğu sayfaya döndürür
Navbar'daki "Giriş yap" callback vermiyordu; giris-karti.tsx callback'siz
isteği "/"'a düşürdüğü için rehber ya da katalog okuyan ziyaretçi girişten
sonra ana sayfada uyanıyordu.

Yeni GirisLinki bileşeni usePathname ile bulunulan yolu callback yapıyor.
Callback bilerek sabit bir hedef (ör. /listem) değil: buton her sayfada
duruyor, sabit hedef bağlam kaybı olur; /listem?uret=1 yazılsaydı girişten
dönüşte üretim kendiliğinden başlar, kullanıcının ayrı onayı olmadan 3
kredi yanardı. Sorgu dizesi taşınmıyor — sorgu okuyan kanca tüm navbar'ı
Suspense zorunluluğuna sokardı.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 01:21:32 +03:00
bilalgursen
cb22faf628 feat(funnel): navbar'da kalıcı Yapay Zeka listesi girişi
Girişli kullanıcının /listem'e navbar'dan ulaşacak yolu yoktu: çekmece
butonu (Kendi Listem) manuel liste boşken tamamen gizleniyor, kredi pill'i
de /paket'e gidiyor. Girişli 14 oturumun 7'si /listem'i hiç görmedi.

Kredi pill'iyle birebir aynı sınıf setinde bir /listem girişi eklendi;
ikon ClipboardList (çekmecenin ListChecks'i ve kredinin Coins'i ile
karışmasın). Rapor var mı diye ek DB sorgusu yok — navbar'ın TTFB'si
bozulmasın, boş sayfada ListemBosCta karşılıyor.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-22 01:21:16 +03:00
bilalgursen
cf19903e19 feat(analitik): huni olayları
Huninin kör noktalarına altı olay (adlar kalıcı sözleşme):
- cta_form_goruntulendi: programatik sayfalardaki CTA kartı, yalnız
  profilsiz dalda (görünüm hook'u; sayfa ayrımı Rybbit pathname'inden)
- sira_form_hata {kaynak: hero|cta|kapi|duzenle}: facet isteği hatası;
  geçersiz sayı doğrulaması sayılmaz
- sonuc_goruntulendi {girisli, sira_kovasi}: /sonuc pathname'i maskeli,
  huni adımı bu olayla kurulur; oturum başına girişli/anonim birer kez
- paket_goruntulendi {kaynak: kilit|kredi_bitti|nav|diger}: sayfaya
  dokunmadan yeni paket/layout.tsx + client bileşenle; /paket linklerine
  ?kaynak= eklendi (listem kilit kartları, kredi-yetersiz, nav kredi pill'i)
- liste_uretim_hata {kod: HATA|ISTISNA}: AUTH/KREDI/PAKET dalları atmaz
- giris_hata {yontem: eposta|google, status}

Ham sıra ve e-posta hiçbir olaya girmez; sıra yalnız siraKovasi() ile.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 04:49:09 +03:00
bilalgursen
7d2b2ddd71 refactor: liste feature'ı — manuel-liste toptan taşındı (Faz 7)
- src/components/manuel-liste/ → src/features/liste/: kayitli-liste-actions →
  liste-actions, store → liste-store, dogrula → liste-dogrula, giris-url →
  liste-giris-url, oturum-sinyali → liste-oturum-sinyali,
  profil-kapisi-store → hooks/use-tercih-profili; 12 tsx → components/
- program-tablosu.tsx ve tercih-haritasi.tsx da features/liste/components'a
  geldi (rapor ve katalog cross-import ediyor)
- app/layout.tsx'in 3 global mount'u (ListeCekmecesiLazy, KaydetBannerLazy,
  TercihProfiliKapisiLazy) yeni feature yollarından import ediliyor
- liste-queries.ts /sonuc dönüşümüyle Faz 9'da gelecek
- Davranış değişikliği yok; store/localStorage anahtarları aynı

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 01:34:50 +03:00
bilalgursen
8b5aa8c8a6 refactor: kullanici feature'ı — giriş kartları feature bileşenlerine çıktı (Faz 4)
- giris-form, giris-baslik, user-nav, sign-out-button
  features/kullanici/components/ altına taşındı
- /giris'in session+redirect+callback temizliği GirisKarti'ya (async),
  /giris/dogrula'nın inline doğrulama formu + guvenliYol kalkanı
  DogrulaKarti'ya çıkarıldı; skeleton'lar aynı dosyada
- İki sayfa senkron: searchParams.then() + sayfada Suspense;
  app/giris/loading.tsx silindi (geometrisi GirisKartiSkeleton'da yaşıyor)
- site-header'ın UserNav importu güncellendi; mevcut Suspense sınırı yerinde
- Davranış değişikliği yok

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-08 01:22:31 +03:00