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-phonechange→#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
checkStep3Readyzaten$kvkk.lengthkontrolüyle checkbox’ın varlığını handle ediyor; render edilmediğinde fail etmiyor — eksik olan sadece “step transition’da bir kez çağırma” idi.validateStep3aynı 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).
Related
- Okul Platform — Incidents
- 2026-04-21-ajax-double-load-race — Aynı reviews ekosisteminde başka bir race condition fix’i