JavaScript ile Modern Diyalog ve Bildirim Sistemleri

Kullanıcıya bilgi vermek veya bir işlem onayı almak için JavaScript'te iki ana yöntem vardır: Tarayıcının yerleşik (native) fonksiyonları ve tamamen sizin tasarladığınız özel (custom) modal yapıları.

1) Yerleşik Tarayıcı Diyalogları

Hızlı ve basit çözümler için tarayıcının sunduğu hazır fonksiyonlardır. Ancak görsel olarak özelleştirilemezler.

  • alert("Mesaj"): Bilgi verir.
  • confirm("Emin misiniz?"): Kullanıcıdan onay (True/False) alır.
  • prompt("Adınız nedir?"): Kullanıcıdan metin girdisi alır.

2) Modern UI Örnekleri: Modal ve Toast

Profesyonel projelerde kullanıcı deneyimi için HTML/CSS ile hazırlanan ve JS ile tetiklenen yapılar tercih edilir.

JavaScript Custom Modal & Toast Logic
// 1. Basit Modal Açma/Kapama
function modalToggle(status) {
    const modal = document.querySelector("#myModal");
    modal.style.display = status ? "flex" : "none";
}

// 2. Toast (Anlık Bildirim) Fonksiyonu
function showToast(message, type = "success") {
    const toast = document.createElement("div");
    toast.className = `toast-box ${type}`;
    toast.textContent = message;
    document.body.appendChild(toast);
    
    // 3 saniye sonra otomatik sil
    setTimeout(() => toast.remove(), 3000);
}

// 3. Loading (Yükleniyor) Durumu
function setLoading(active) {
    const btn = document.querySelector("#saveBtn");
    btn.disabled = active;
    btn.innerHTML = active ? "Yükleniyor..." : "Kaydet";
}
💡 UX İpucu: Kullanıcıyı çok fazla `alert()` ile boğmak yerine, kritik olmayan bildirimler için sayfanın köşesinde çıkan Toast mesajlarını kullanmak çok daha modern bir yaklaşımdır.

Neden Özel (Custom) Modallar?

Özellik Yerleşik (Native) Özel (Custom)
Tasarım Değiştirilemez Tamamen Özgür
Kod Akışı Kod durur (Blocking) Asenkron çalışır
Kullanım Çok Basit CSS/HTML gerektirir

Özet

  • alert ve confirm hızlı hata ayıklama için idealdir.
  • Profesyonel sitelerde **Modal** ve **Toast** yapıları kullanıcıyı siteden koparmaz.
  • İşlem sırasında butonu **Loading** durumuna getirmek, kullanıcının defalarca tıklamasını (double-submit) engeller.