Proje: Okul Platform · Hub: Okul Platform — Incidents

Semptom

resources/views/frontend/reviews/comment.blade.php (desktop) yorum yap sayfasında, KVKK consent’i daha önce verilmiş giriş yapmış kullanıcıda Step 3’te KVKK ve pazarlama checkbox’ları render edilmiyor (doğru davranış) ama “Yorumumu Gönder” butonu disabled kalıyor. Kullanıcı hiçbir şekilde butonu aktive edemiyor.

Root cause

resources/assets/scripts/frontend/reviews-wizard.js içindeki checkStep3Ready() sadece event binding’le tetikleniyor:

  • keyup change#rw-name, #rw-email, #rw-phone
  • change#rw-kvkk_consent, #rw-marketing_consent

Giriş yapmış kullanıcıda name/email/phone Blade’den pre-filled geliyor (value="{{ $user->name ?? '' }}"), consent verilmişse checkbox’lar hiç DOM’a basılmıyor. Step 3’e geçişte hiçbir input event’i fire etmediği için checkStep3Ready() çağrılmıyor → buton initial disabled state’inde kalıyor.

Mobile sürümü (resources/assets/scripts/mobile/reviews-wizard.js) goToStep içinde step 3’e geçerken checkStep3Ready() çağrısı yapıyordu; desktop sürümünde bu çağrı eksikti.

Çözüm

Desktop goToStep()’e step transition tamamlandığında checkStep2Ready / checkStep3Ready çağrısı eklendi (animate ve non-animate iki kol için de). Böylece pre-filled değerler ve mevcut consent durumu üzerinden buton state’i değerlendiriliyor.

Notlar

  • checkStep3Ready zaten $kvkk.length kontrolüyle checkbox’ın varlığını handle ediyor; render edilmediğinde fail etmiyor — eksik olan sadece “step transition’da bir kez çağırma” idi.
  • validateStep3 aynı pattern’i kullandığı için submit anında da problem yoktu, tek sorun butonu enable etmekti.
  • KVKK consent ekosisteminin parçası: 2026-04-… kvkk-consent-related-notes (varsa).