Basit Anlatım (Herkes İçin)
Sorun Nedir?
Kullanıcı üye olmadan veya premium üyeliği yokken albüm, playlist, tür (genre), sektör veya radyo kartlarındaki
Play ▶ tuşuna bastığında:
- ❌ Yanlış Davranış: Uyarı mesajı gösteriliyor SONRA otomatik olarak kayıt/üyelik sayfasına yönlendiriliyor (800ms sonra)
- ❌ Problem: Kullanıcı "Yükleniyor..." modalı görüyor, sayfa değişiyor, kafa karıştırıcı deneyim
Nasıl Olmalı?
Play tuşu ASLA sayfa değiştirmemeli:
- ✅ Doğru Davranış: Sadece kırmızı uyarı baloncuğu (toast) göster: "Şarkı dinlemek için kayıt olmalısınız"
- ✅ Kullanıcı Kontrolü: Kullanıcı isterse kendisi kayıt sayfasına gider, zorla yönlendirme YOK
- ✅ Temiz Deneyim: Sayfa aynı kalır, sadece bilgilendirme yapılır
Benzetme: Bir mağazada kapalı kapının önünde "Sadece üyeler girebilir" tabelası vardır. Tabelayı okuyunca kapı seni zorla kayıt noktasına götürmez, sadece bilgilendirir. Kararı sen verirsin.
Sorunun Kaynağı
Dosya:
public/themes/muzibu/js/player/features/play-helpers.js
Bu dosyada 5 fonksiyon var (tüm içerik türleri için):
playGenres()- Tür (genre) çalmaplayPlaylist()- Playlist çalmaplayAlbum()- Albüm çalmaplayRadio()- Radyo çalmaplaySector()- Sektör çalma
❌ Hatalı Kod Örneği:
// playGenres() fonksiyonu - satır 22-37
if (!player.isLoggedIn) {
player.showToast('Şarkı dinlemek için kayıt olmalısınız', 'warning');
setTimeout(() => {
window.location.href = '/register'; // ❌ SORUN: Otomatik yönlendirme!
}, 800);
return;
}
const isPremiumOrTrial = player.currentUser?.is_premium || player.currentUser?.is_trial;
if (!isPremiumOrTrial) {
player.showToast('Şarkı dinlemek için premium üyelik gereklidir', 'warning');
setTimeout(() => {
window.location.href = '/subscription/plans'; // ❌ SORUN: Otomatik yönlendirme!
}, 800);
return;
}
✅ Doğru Kod (Düzeltilmiş):
// playGenres() fonksiyonu - DÜZELTME
if (!player.isLoggedIn) {
player.showToast('Şarkı dinlemek için kayıt olmalısınız', 'warning');
// ✅ DÜZELTME: setTimeout ve yönlendirme kaldırıldı!
return;
}
const isPremiumOrTrial = player.currentUser?.is_premium || player.currentUser?.is_trial;
if (!isPremiumOrTrial) {
player.showToast('Şarkı dinlemek için premium üyelik gereklidir', 'warning');
// ✅ DÜZELTME: setTimeout ve yönlendirme kaldırıldı!
return;
}
Teknik Detaylar (Geliştiriciler İçin)
📁 Dosya Konumu:
/var/www/vhosts/tuufi.com/httpdocs/public/themes/muzibu/js/player/features/play-helpers.js
🔨 Düzeltilecek Satırlar:
playGenres()
→ Satır 24-27 (login check) + Satır 33-36 (premium check)
playPlaylist()
→ Satır 88-91 (login check) + Satır 97-100 (premium check)
playAlbum()
→ Satır 151-155 (login check) + Satır 161-164 (premium check)
playRadio()
→ Satır 215-219 (login check) + Satır 224-228 (premium check)
playSector()
→ Satır 279-283 (login check) + Satır 288-292 (premium check)
⚙️ Kaldırılacak Kod Bloğu (10 yerde aynı pattern):
setTimeout(() => {
window.location.href = '/register'; // veya '/subscription/plans'
}, 800);
✅ Düzeltme Sonrası Davranış:
- Toast mesajı gösterilir (warning seviyesinde, sarı/turuncu)
- Fonksiyon
returnile sonlanır - Sayfa yerinde kalır, yönlendirme yapılmaz
- Player yüklenmeye çalışmaz (
player.isLoading = false)
Yapılacaklar (Step-by-Step)
Dosyayı Düzenle
play-helpers.js dosyasında 5 fonksiyondan toplamda
10 yerde otomatik yönlendirme kodu var.
Her fonksiyonda 2 yerde:
- Login kontrolü →
/registeryönlendirmesi KALDIR - Premium kontrolü →
/subscription/plansyönlendirmesi KALDIR
Test Et (Manuel)
Tarayıcıda üye olmadan test et:
✅ Beklenen sonuç:
- Play tuşuna bas → Toast mesajı görünsün
- Sayfa değişmesin, aynı yerde kalsın
- "Yükleniyor..." modal'ı açılmasın
Cache Temizle
JavaScript dosyası değiştiği için tarayıcı cache'ini temizle:
Ctrl+Shift+R
(hard refresh) veya
Ctrl+F5
Tamamlandı Kontrolü
Düzeltmenin başarılı olduğunu doğrula:
Test senaryoları:
- Ana sayfada albüm play → Toast görülsün, sayfa kalmalı ✅
- Playlist sayfasında play → Toast görülsün, sayfa kalmalı ✅
- Tür (genre) kartında play → Toast görülsün, sayfa kalmalı ✅
- Sektör kartında play → Toast görülsün, sayfa kalmalı ✅
- Radyo kartında play → Toast görülsün, sayfa kalmalı ✅
Neden Önemli?
Zorla yönlendirme kafa karıştırır. Kullanıcı play tuşuna bastığında sayfa değişmemeli, sadece bilgilendirilmeli. Karar kullanıcının olmalı.
Gereksiz sayfa değişimi önlenir. Toast mesajı instant gösterilir, kullanıcı aynı yerden devam eder.
Tüm müzik platformları (Spotify, Apple Music, YouTube Music) aynı şekilde çalışır: Play tuşu sadece çalmaya çalışır, yönlendirme yapmaz.