🏢

Sektör Seçim Modal Testi

mztest.muzibu.com · 28 Şubat 2026

✓ API Çalışıyor
✓ Kaydetme Endpoint OK
✗ ESC Tuşu Bug
⚠ Footer Orantısızlık
1. Fonksiyonel Test Sonuçları
✓ ÇALIŞANLAR
  • openSectorModal() — Modal açılıyor
  • /api/muzibu/sectors — 27 sektör dönüyor
  • ✓ Sektör grid render — Görsel kartlar oluşturuluyor
  • ✓ Sektör seçimi — Turuncu highlight çalışıyor
  • ✓ "Seçilen: Caffe" status metni
  • ✓ "Kaldır" butonu — Sektör silme çalışıyor
  • saveSector()POST /profile/sector OK
  • ✓ Sidebar alpine event sector-changed
  • ✓ Banner gizle (sectorBanner.display = none)
  • ✓ Toast mesajı gösterilmesi
  • ✓ Backdrop tıklama — Modal kapanıyor
  • ✓ X (kapat) butonu çalışıyor
  • /sectors/caffe → HTTP 200 OK
  • ✓ Sidebar sektör linki → /sectors/{slug}
  • ✓ Kalem ikonu → modal tekrar açılıyor
  • ✓ Sayfa yenileme (SPA main refresh)
✗ SORUNLAR
  • ✗ ESC tuşu modal kapatmıyor (CRITICAL BUG)
  • ⚠ Footer "Kaldır" butonu orantısız küçük
  • ⚠ Dikey hizalama farklılığı (Kaldır vs İptal/Kaydet)
  • - Duplicate sektör filtresi var (gereksiz savunma kodu)
2. Modal Tasarım Analizi — Kod Tabanlı

Aşağıdaki analiz, app.blade.php dosyasındaki gerçek Tailwind sınıflarından çıkarılmıştır. Dosya konumu: resources/views/themes/muzibu/layouts/app.blade.php (satır 1036-1226)

Padding / Spacing Tutarlılığı

HEADER
px-5 py-3.5
x=20px · y=14px
GRID ALANI
px-5 py-4
x=20px · y=16px
FOOTER
px-5 py-3.5
x=20px · y=14px

✓ Header ve Footer padding birbirine eşit (px-5 py-3.5). Tutarlı.

Footer Buton Boyutları — Orantısızlık!

KALDUR BUTONU
px-2.5 py-1 text-xs
x=10px · y=4px · 12px font
⚠ ÇOK KÜÇÜK
İPTAL BUTONU
px-4 py-2 text-sm
x=16px · y=8px · 14px font
✓ NORMAL
KAYDET BUTONU
px-4 py-2 text-sm
x=16px · y=8px · 14px font
✓ NORMAL
Problem: "Kaldır" butonu, "İptal" ve "Kaydet" butonlarına göre hem daha küçük padding'e (py-1 vs py-2) hem de daha küçük font'a (text-xs vs text-sm) sahip. Bu durum footer'ın sol tarafını görsel olarak daha sıkışık gösteriyor ve dikey hizalamayı bozuyor.

Footer Görsel Simülasyonu — Mevcut Durum

Seçilen: Caffe

⚠ py-1 text-xs

Yukarıda: "Kaldır" butonunun height'ı İptal/Kaydet'ten ~8px daha az. Dikey ortalama bozuk.

Önerilen Footer — Düzeltme Sonrası

Seçilen: Caffe

✓ py-1.5 text-sm

Düzeltme: px-2.5 py-1 text-xspx-3 py-1.5 text-sm border border-red-500/20

3. Kritik Bug — ESC Tuşu Çalışmıyor

Sorun: Modal hidden class ile kapatılıyor ama ESC kontrolü style.display kontrol ediyor.

closeSectorModal()classList.add('hidden') ile kapanıyor.
ESC keydown handler → style.display !== 'none' kontrol ediyor → Bu koşul HİÇBİR ZAMAN doğru olmaz.
Sonuç: ESC tuşuna basmak modal'ı kapatmıyor.

MEVCUT KOD (YANLIŞ):
if (e.key === 'Escape' &&
  document.getElementById('sectorModalWrapper')
  .style.display !== 'none') {
  closeSectorModal();
}
DOĞRU KOD:
if (e.key === 'Escape' &&
  !document.getElementById('sectorModalWrapper')
  .classList.contains('hidden')) {
  closeSectorModal();
}
4. Adım Adım Test Senaryosu Sonuçları
Adım 1 — Siteye Giriş
nurullah@nurullah.net hesabı, sector_id = null (sektör seçilmemiş). Banner gösteriliyor.
Adım 2 — "Sektör Seç" Butonuna Tıkla
openSectorModal() çağrılıyor. Modal açılıyor, spinner görünüyor, ardından /api/muzibu/sectors endpointinden 27 sektör yükleniyor.
Adım 3 — Modal Açık, Footer Tasarımı
"Lütfen bir sektör seçin" yazısı gösteriliyor. "Kaldır" butonu gizli (doğru). İptal ve Kaydet (disabled) görünür.
Tasarım notu: Status metni text-xs (12px), butonlar text-sm (14px). Dikey hizalama tutarsız.
Adım 4 — "Caffe" Sektörü Seçildi
Kart turuncu highlight ile belirginleşiyor. Footer: "✓ Seçilen: Caffe" yazısı görünüyor.
"Kaldır" butonu görünür hale geliyor. Kaydet butonu aktif hale geliyor.
Adım 5 — Kaydet'e Basıldı
POST /profile/sector{"success": true}. Modal kapanıyor. Sidebar'da sektör adı ve ikonu görünüyor.
Banner gizleniyor. sector-changed event dispatch ediliyor. SPA main refresh çalışıyor.
Adım 6 — Sidebar Sektör Linki
/sectors/caffe → HTTP 200 OK. Sektör sayfası erişilebilir.
Adım 7 — Kalem İkonu (Sektör Değiştir)
openSectorModal() tetikleniyor. Modal açılıyor, seçili sektör highlight ile gösteriliyor, "Kaldır" butonu görünür.
Adım 8 — "Kaldır" + Kaydet
selectSector(null, '', '', '') çağrılıyor. Status: "✕ Sektör kaldırılacak".
POST /profile/sector {"sector_id": null} gönderiliyor. Sidebar'dan sektör kısmı kayboluyor. Banner geri geliyor.
ESC Tuşu Testi
Modal açıkken ESC'ye basılıyor → Modal KAPANMIYOR.
Neden: style.display !== 'none' koşulu yanlış. Modal hidden class ile kontrol ediliyor.
5. Log ve Sistem Durumu
Laravel Log
Sadece auto-scaling DEBUG mesajları (normal). Hata yok.
API Endpoint
GET /api/muzibu/sectors → 27 sektör, HTTP 200 OK
Kaydetme Endpoint
POST /profile/sector → updateSector() → user.sector_id güncelleniyor
Sektör Sayfası
GET /sectors/{slug} → HTTP 200 OK
6. Düzeltilmesi Gereken Sorunlar
KRİTİK ESC Tuşu Modal Kapatmıyor
Dosya: resources/views/themes/muzibu/layouts/app.blade.php satır ~1101
MEVCUT (YANLIŞ):
if (e.key === 'Escape' &&
document.getElementById(
'sectorModalWrapper'
).style.display !== 'none')
DÜZELTME:
if (e.key === 'Escape' &&
!document.getElementById(
'sectorModalWrapper'
).classList.contains('hidden'))
ORTA Footer "Kaldır" Butonu Orantısız Küçük
Dosya: app.blade.php satır 1061 — id="sectorModalResetBtn"
MEVCUT (KÜÇÜK):
class="flex-shrink-0 px-2.5 py-1
text-xs text-red-400 hover:text-red-300
hover:bg-red-500/10 rounded-lg transition"
DÜZELTME (ORANTILI):
class="flex-shrink-0 px-3 py-1.5
text-sm text-red-400 hover:text-red-300
hover:bg-red-500/10 rounded-lg
border border-red-500/20 transition"
7. Genel Değerlendirme
16/17
Test Maddesi Başarılı
1
Kritik Bug (ESC)
1
Tasarım Sorunu

Genel Değerlendirme: Modal sistemi fonksiyonel olarak güçlü çalışıyor. API, kaydetme, sidebar güncelleme, banner göster/gizle, SPA yenileme mekanizmaları hepsi sorunsuz. Düzeltilmesi gereken 2 nokta: ESC tuşu bug'ı (1 satır değişiklik) ve "Kaldır" butonu orantısızlığı (CSS tweaks). Düzeltmeler uygulandığında modal tam puan alır.

28 Şubat 2026 · mztest.muzibu.com · Sektör Modal Test Raporu