bilalgursen
90ac590737
perf: sohbet markdown lazy + marked client'tan çıktı, mermaid görünürlükte (Faz 4)
...
- markdown.tsx: blok bölme marked.lexer yerine çit-farkındalıklı boş satır
bölücüsü — react-markdown'ın yanında ikinci tam parser (~460 KB paket)
client'a inmiyordu artık gerekmiyor; memoized blok yapısı aynen korunur
- markdown-lazy: react-markdown+remark zinciri (~215 KB) lazy; fallback
aynı class'lı düz metin (stream'de flash/CLS yok), sohbet mount'unda
preloadMarkdown ile chunk önden ısınır — /listem 1315->1133 KB eager JS
- el-cizimi-sema: mermaid importu IntersectionObserver'a bağlandı
(rootMargin 200px); şemalar hep fold altında, ~1 MB mount'ta inmiyor
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 14:01:48 +03:00
bilalgursen
53edb2b307
perf: sunucu waterfall'ları ve blocking analitik düzeltildi (Faz 1)
...
Vercel React Best Practices denetimi, sunucu tarafı:
- odeme: analitik olayı after() ile yanıt sonrasına alındı; ucuz ürün
doğrulaması oturum turundan öne çekildi; sonuç kartında oturum+sipariş
paralel okunuyor
- /api/soru POST: gövde+oturum ve 3 bağımsız sorgu Promise.all'a bağlandı
- rehber: prod'da globalThis cache + özetler için frontmatter fast-path
(24 dosya okuma + marked.parse her render'da tekrarlanıyordu); arama
kutusuna giden payload RehberAramaKaydi'ya kırpıldı (tarih serileşmiyor)
- /sonuc hattı: ProgramListeSatiri (fakulte/puan2025 client'a serileşmiyor)
- katalog: universite/bolum listelerinde O(n²) filtreler tek geçişe indi
- sira-gerekli + katalog-arama: effect'te setState kalktı (lint yeşil)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 13:48:27 +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
e3cf141f55
refactor: rehber feature'ı — makale ve liste feature bileşenlerine çıktı (Faz 3)
...
- rehber-kapak + el-cizimi-sema features/rehber/components/ altına taşındı
(el-cizimi-sema'nın göreli font yolu yeni konuma göre düzeltildi)
- /rehber'in kart gridi RehberListesi'ne, /rehber/[slug]'ın makale gövdesi
(JsonLd + içerik + ilgili yazılar + notFound) RehberMakale'ye çıkarıldı;
metadata/staticParams yardımcıları bileşen dosyasından export ediliyor
- İki sayfa senkron: params.then() + sayfada Suspense, skeleton'lar colocated
- rehber-queries.ts (server-only) lib/rehber'in feature kapısı
- Davranış değişikliği yok; içerik build-time statik
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 01:18:22 +03:00