bilalgursen
668568b5b5
perf: istemci istek cache'i (dedup+TTL) ve profil cache (Faz 5)
...
- lib/istek-cache: modül seviyesi in-flight dedup + 5dk TTL cache (SWR
bağımlılığı olmadan); caller iptali paylaşılan fetch'i düşürmez
- /api/facetler'in 5 çağrı yeri (hero, cta, kapı, sihirbaz adımları, demo)
ve /api/katalog-ara cache'e bağlandı — sihirbazda 2↔3 adım geçişi ve
tekrarlanan aramalar artık ağa çıkmıyor; /api/soru GET dedup-only (ttl 0)
- katalog-arama: elle yukleniyor state'i kalktı, "cevaplanmamış sorgu"
türetmesi + startTransition; rehber puanlaması Schwartzian; ⌘K listener'ı
useEffectEvent ile tek sefer bağlanıyor
- sihirbaz-adimlar: il sort/filter useMemo (çip başına 81 eleman kopyalanıp
sıralanıyordu, harita dizisi referansı sabitlendi)
- sohbet-client: stream chunk güncellemeleri startTransition'da — cevap
akarken input yazımı bloklanmıyor
- sihirbaz-profil: modül cache + event/storage geçersizlemesi (tek "+"
tıklamasında 3 localStorage okuma + JSON.parse vardı)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 14:11:05 +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
792e8c7346
refactor: sihirbaz feature'ı — lib/sihirbaz bölündü, bileşenler taşındı (Faz 6)
...
- lib/sihirbaz.ts ikiye ayrıldı: sihirbaz-sabitler.ts (şema + doğrulayıcılar +
event/storage sabitleri + sonucHref/secimOzeti, izomorfik) ve
sihirbaz-profil.ts (localStorage oku/yaz/sil); 25 tüketicinin importu
sembol bazında bölünerek güncellendi, localStorage anahtar/event değerleri
birebir aynı
- sihirbaz-adimlar(+lazy), hero-form, cta-sira-form, il-secim-haritasi ve
/sonuc'un sihirbaz-modal/sihirbaz-cagri-karti/sira-gerekli bileşenleri
features/sihirbaz/components/ altına taşındı
- sihirbaz-queries.ts ve async SihirbazBolumu sarmalayıcısı /sonuc sayfa
dönüşümüyle birlikte Faz 9'da gelecek (o zamana dek ölü kod olurlardı)
- Davranış değişikliği yok
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 01:31:32 +03:00
bilalgursen
baebc1fc80
refactor: pazarlama feature'ı — landing + meraklısına taşındı (Faz 5)
...
- landing/{sosyal-kanit,sosyal-kanit-govde,reveal} + hero-baslik +
hero-focus-button + turkey-pixel-map features/pazarlama/components/ altına
- app/page.tsx'teki inline ComparisonCell landing-parcalari.tsx'e çıkarıldı
- /meraklisina içeriği MeraklisinaIcerik'e (okumayı pazarlama-queries'in
meraklisinaDemoVerisi'nden alıyor); sayfa senkron + Suspense; demo.tsx →
meraklisina-demo.tsx, huni-semasi.tsx feature'a taşındı
- AGENTS.md'deki huni-semasi ve anlatım metni yol referansları aynı commit'te
güncellendi; SEMA içeriği değişmedi
- Davranış değişikliği yok
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 01:27:53 +03:00